Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Como puedo mejorar esta consulta en postgres!!

Estas en el tema de Como puedo mejorar esta consulta en postgres!! en el foro de PostgreSQL en Foros del Web. Buenas. Tengo un buscador de noticias.... El corre el siguiente query, para saber el numero de noticias qeu cumplen con los criterios de busqueda.... El ...
  #1 (permalink)  
Antiguo 26/01/2012, 16:54
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Como puedo mejorar esta consulta en postgres!!

Buenas.

Tengo un buscador de noticias.... El corre el siguiente query, para saber el numero de noticias qeu cumplen con los criterios de busqueda.... El query si me trae los resultados pero se demora muuuuucho... Quisiera que me hicieran el favor de ayudarme a mirar si tengo algo mal o como mejorarlo para tener un mejor rendimiento.

Código:
select count(distinct(n.id_noti)) from noticias n inner join tipo s on s.id_noti = n.id_noti and s.id_tipo
in (1,3) and n.fecha >= '2011-01-03 00:00:00' and n.fecha <= '2012-01-26 23:59:00' and ( TO_ASCII(n.titulo, 'LATIN1') ilike TO_ASCII('%palabra%', 'LATIN1') or n.resumen ilike 
'%palabra%' or n.completa ilike '%palabra%')

Última edición por helacer; 26/01/2012 a las 17:01
  #2 (permalink)  
Antiguo 26/01/2012, 17:52
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Como puedo mejorar esta consulta en postgres!!

Hola que tal bueno ami se me ocurre algo asi:

Código PostgreSQL:
Ver original
  1. select count(distinct(n.id_noti))
  2. from noticias n
  3. inner join tipo s on (s.id_noti = n.id_noti )
  4. WHERE s.id_tipo in (1,3) and CAST( n.fecha AS DATE ) BETWEEN '2011-01-03' and '2012-01-26' and
  5.       ( TO_ASCII(n.titulo, 'LATIN1') ilike TO_ASCII('palabra%', 'LATIN1') or n.resumen ilike 'palabra%' or n.completa ilike 'palabra%')

Cuanto te da tu consulta y cuanto de da con esta?

No soy bueno para esto, pero espero te sirva

Etiquetas: end, mejorar, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:15.