| From: | Eduardo Morras <emorras(at)s21sec(dot)com> |
|---|---|
| To: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
| Subject: | Re: Diferencia entre indices btree, rtree y hash |
| Date: | 2009-05-19 11:20:24 |
| Message-ID: | 20090519111846.6C1E3466FC1@s21sec.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
At 19:53 18/05/2009, Silvio Quadri wrote:
>El día 18 de mayo de 2009 11:36, BhEaN <listas(at)bhean(dot)com> escribió:
> > Hola a todos,
> >
> > Tengo una BBDD en PostgreSQL que va a
> contener varios millones de registros,
> > por lo que necesito optimizar las consultas lo máximo posible...
> >
> > Mi problema es que, a la hora de crear los
> indices, no puedo crear un indice
> > (tipo BTREE) en una de las columnas, porque
> algunos de los registros que hay
> > en ella tienen una longitud mayor a la que permite el indice (creo recordar
> > que 2000 y pico... no demasiado...)
>
>
>En el 100% los casos, un índice de 2000 caracteres es un índice inútil
>(para Postgres y para cualquier DBMS)
>Dependiendo de la solución que quieras implementar, como en otros
>mails se dice, hay que usar índice parcial o una solución "Full text
>search". También, si la búsqueda es exacta, podés implementar un
>índice HASH programado a manopla, que no es muy difícil.
Puedes comprimir el texto. En tiempo es similar a
hacer un hash pero tendras una correspondencia
1:1 entre el texto metido y el indice. Ademas
podras hacer comparaciones y aplicar metricas
(una simple resta te puede decir si dos entradas
son similares y cuanto). Puedes usar tanto un
huffman, arith coder o directamente un zip sobre
los 2KB de texto u otro algoritmo de compresion sin perdida.
>Saludos!
>Silvio
---------------------------------
Warning!!! Lemmings inside!!!
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Giorgio PostgreSQL | 2009-05-19 12:19:41 | Re: Implementar Servidor en WinXP? |
| Previous Message | Gabriel Ferro | 2009-05-19 11:08:16 | funcion una a una o a la vez |