Antes de nada, muchísimas gracias a todos por vuestras respuestas....

Os contesto debajo de cada parrafo:
rtree ya no existe.  Fue reemplazado por GiST ("generalized search
tree"), el cual es un sistema de indexamiento para tipos complicados --
por ej. se usa para indexar tipos geométricos y también para los índices
de búsqueda en texto, entre muchas otras cosas.
Eso es lo que necesito, un índice de búsqueda en texto...
El otro sistema de indexamiento extravagante es GIN; es un índice
invertido.  También se usa para búsqueda en texto (es más rápido en
búsquedas que GiST, pero mucho más lento para agregar nuevos valores).
Se puede usar para otras cosas también obviamente.
Eso suena mejor que GiST, puesto que la relación de inserciones/lecturas será muy baja... se haran muchísimas más consultas que inserciones, por lo que quizás me interese más éste tipo de indice...
Hash es un tipo de índice que en Postgres no es recomendable por el
momento, así que no lo uses porque tiene varios problemas.

Así que tu única alternativa es el btree.  Dado que no puedes almacenar
más de 2000 y pico caracteres, vas a tener que buscar mecanismos
alternativos.  Si quieres indexar campos grandes de texto, ¿quizás lo que
necesitas en realidad es usar el sistema de búsqueda en texto?  Te
podemos dar consejos más específicos si nos dices exactamente de qué
naturaleza son los datos y cómo serán las consultas.

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".

Gracias de nuevo,

Saludos







--
TIP 6: �Has buscado en los archivos de nuestra lista de correo?
              http://archives.postgresql.org/pgsql-es-ayuda

Responder a