From: | BhEaN <listas(at)bhean(dot)com> |
---|---|
To: | |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Diferencia entre indices btree, rtree y hash |
Date: | 2009-05-19 10:08:45 |
Message-ID: | 4A12852D.7050209@bhean.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Gabriel Ferro | 2009-05-19 11:08:16 | funcion una a una o a la vez |
Previous Message | Jaime Casanova | 2009-05-19 06:57:43 | Re: Donde colocar en la wiki |