BhEaN escribió:

> Ok... siento no haber sido más explícito... lo que tengo exactamente es  
> una tabla con muchos anuncios clasificados (los típicos anuncios de  
> "vendo  blablabla", o "compro blablablablabla"... hay varios millones de  
> éstos anuncios.... y lo que necesito es optimizar todo lo posible las  
> búsquedas en ella, ya que debo permitir búsquedas de palabras en el  
> texto y título de dichos anuncios... es decir, búsquedas del tipo LIKE  
> '%blablabla%' (lo cual tiene pinta de que va a ser horrible para la  
> BBDD, pero es lo que hay, jejejee...). No dispongo aún de los datos  
> "reales", por lo que no puedo hacer pruebas de rendimiento con un índice  
> u otro, sino... simplemente "probaría" a hacer búsquedas con un tipo de  
> índice... luego con otro... y así hasta dar con el más optimo, pero no  
> los tengo aún, así que tengo que preparar el tema un poco "a ciegas".

Creo que un índice GIN o GiST de búsqueda en texto deberías estar bien.
Asegúrate de usar Postgres 8.3 porque en esa fue integrado el sistema de
búsqueda en texto; en las anteriores, debías instalar un módulo contrib
y el sistema estaba mucho menos depurado.

Si las inserciones van a ser pco frecuentes comparadas con las
búsquedas, creo que es obvio que deberías usar un índice GIN.  (Además,
hazte a la idea que las búsquedas no se hacen con LIKE sino con
operadores específicos de búsqueda en texto)

-- 
Alvaro Herrera                 http://www.amazon.com/gp/registry/DXLWNGRJD34J
"Coge la flor que hoy nace alegre, ufana. ¿Quién sabe si nacera otra mañana?"
--
TIP 4: No hagas 'kill -9' a postmaster

Responder a