Re: [Pgsql-ayuda] buena indexacion

From: Ricardo Mercado Araneda <rmercado(at)dportales(dot)cl>
To: martin(at)bugs(dot)unl(dot)edu(dot)ar
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] buena indexacion
Date: 2003-08-30 16:07:21
Message-ID: 1062259641.30378.5.camel@rmercado.dportales.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Para indices que se usaran en comparaciones de igualdad usa hash

CREATE INDEX <nombre_indice> ON <nombre_tabla> USING hash (<Atributo>);

Para indices que se usaran en comparaciones de rangos de valores usa
btree

CREATE INDEX <nombre_indice> ON <nombre_tabla> USING btree (<Atributo>);

El vie, 08 de 08 de 2003 a las 15:50, Alvaro Herrera escribió:
> On Thu, Aug 07, 2003 at 12:06:07PM -0300, Martin Marques wrote:
> > Quisiera saber si hay documentacion de como indexar correctamente mis tablas,
> > especialmente con consultas que tienen condiciones sobre multiples columnas.
> >
> > Digamos, una duda que tengo es si el orden de las columnas es importante o no.
>
> Hmmm... no estoy seguro de si entiendo la pregunta. Si tienes una tabla
> blah (a, b, c, d)
>
> y tienes un indice
> idx_blah on blah (a, b, c)
>
> Ese indice se puede usar en:
> select * from blah where a=... AND b=... AND c=...
> select * from blah where a=... AND b=...
> select * from blah where a=...
> (tambien en consultas de rangos, o sea a<10 and a>5, incluso varios
> campos)
>
> NO se puede usar en
> select * from blah where b=... AND a=...
> select * from blah where b=...
>
> Si tienes un ejemplo mas concreto, seria mejor.
>
> Ojo, cuando tienes una clausula ORDER BY puede haber diferencias
> significativas. Por ej. es mucho mejor
> select * from blah where a=... and b=... order by a,b,c
> que
> select * from blah where a=... and b=... order by c
>
> (mira los EXPLAIN y EXPLAIN ANALYZE, deberia ser mas o menos obvio --
> hay un paso de SORT si el indice no entrega los resultados en el orden
> correcto, y ademas hay un paso innecesario de sort si omites las
> columnas en el ORDER BY por creer que es suficiente con restringirlos en
> la clausula WHERE)
--
_______________________________________________________________________________
RICARDO IGNACIO MERCADO ARANEDA
Rmercado(at)dportales(dot)cl
Dirección de Sistemas
Organización Educacional Diego Portales
(041)-910252 anexo 225
Concepción

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rodrigo Alvarez 2003-08-30 16:27:25 [Pgsql-ayuda] Relacionar a travez de triggers
Previous Message Alvaro Herrera 2003-08-30 15:33:17 Re: [Pgsql-ayuda] Creacion de triggers