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

indexar bujscador de noticias

Estas en el tema de indexar bujscador de noticias en el foro de PostgreSQL en Foros del Web. Buenas tengo una base de datos postgress que en una de susta blas guanrda unas noticias de una pagina web. Acutualmente son muuuuuuchas noticias. la ...
  #1 (permalink)  
Antiguo 06/01/2012, 15:22
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
indexar bujscador de noticias

Buenas


tengo una base de datos postgress que en una de susta blas guanrda unas noticias de una pagina web. Acutualmente son muuuuuuchas noticias.

la consuta hace un like en 3 campos donde este contenga una palabra digitada por el usuario:

Código HTML:
select nombre, titular, noticia  from 
			noticia n where  ( n.nombre ilike '%".trim(palabra)."%' or n.titular 
			ilike '%".trim(palabra)."%' or n.noticia ilike '%".trim(palabra)."%')
Me trae los resultados correctos pero se demora mucho en darme la respuesta... como creo un indice o algo parecido que me ayude a mejorar el rendimiento de la consulta?

gracias
  #2 (permalink)  
Antiguo 11/01/2012, 10:42
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 16 años, 1 mes
Puntos: 58
Respuesta: indexar bujscador de noticias

Hola que tal, bueno se me hace que el INDEX si te serviria, pero no mucho.

El motivo es por que en la consulta buscas en los 2 campos, por palabra capturada, con esto vas y haces una consulta en un campo por cada palabra que capturas y luego vas al otro campo y vuelves a consultar por cada palabra que capturas.

Yo te recomendaria que la busqueda, la hicieras cuando el usuario ya capturo toda la palabra, asi seria mas facil y rapido.

Etiquetas: indexar, postgres, select, campos
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 03:59.