Re: Diferencia entre indices btree, rtree y hash

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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