Fwd: Re: [Pgsql-ayuda] AYUDA SOBRE INDICES

fernando miguel villarroel noriel visuallinux@hotmail.com
Wed, 16 Jul 2003 02:37:57 +0000


   Alvaro sobre lo mismo entonces cual es el tipo de datos optimo para 
generar indices, sabiendo que los siguientes no son aconsejables: " 
char(),varchar(), numeric(), text()"; favor si los puedes nombrar.

Gracias
Fernando Villarroel N.

>From: Alvaro Herrera <alvherre@dcc.uchile.cl>
>To: Fabian Mendoza <fmendoza@comandato.com>
>CC: pgsql-ayuda@tlali.iztacala.unam.mx
>Subject: Re: [Pgsql-ayuda] AYUDA SOBRE INDICES
>Date: Tue, 15 Jul 2003 20:17:20 -0400
>
>On Tue, Jul 15, 2003 at 10:47:14AM -0500, Fabian Mendoza wrote:
> > Ya que he obtenido excelentes resultados con Postgres sobre un sistema
> > mediano, estoy en la grata tarea de migrar un sistema completo de
> > Credito de SQLServer.......
> >
> > Agradeceria me ayudaran, con alguna direccion u orientacion sobre el
> > manejo optimo de los indices en la base, por ejemplo, la repercusion
> > del tipo de dato, de la cantidad de indices simples, de la eficacia de
> > un indice simple sobre un indice compuesto, etc.
>
>Postgres sabe usar indices multicolumna para consultas que usen menos
>columnas que las que define el indice.  IOW, si defines un indice en
>(a, b, c) y luego haces una consulta sobre (a, b, c), existe la
>posibilidad de usar el indice; tambien existe si la consulta es sobre
>(a, b) y sobre solo (a).  No existe si la consulta es sobre (a, c, b) o
>sobre (b, c).
>
>Ahora, tampoco es buena idea poner mas campos de los necesarios en el
>indice, puesto que disminuye su efectividad.  Es decir, escoge la menor
>cantidad de campos que cubra todas las columnas que necesitas indexar.
>
>Los indices en tipos de largo fijo son mas rapidos que sobre tipos de
>largo variable.  Evita, si puedes, usar indices sobre columnas char(),
>varchar(), numeric(), text(), etc.  Seguramente tampoco tiene demasiado
>sentido hacer indices sobre float, pero depende de la aplicacion.
>
>Es importante tener en cuenta la utilidad de los indices parciales
>(CREATE INDEX ... WHERE algo); pueden ser muy utiles en casos donde la
>porcion buscada de la tabla es significativamente pequeña respecto de la
>tabla completa.  OTOH no creo que valga la pena tener dos indices que
>cubran aprox. 50% de la tabla cada uno...
>
>Tambien te pueden servir indices funcionales.
>
>Manten siempre las estadisticas actualizadas (ANALYZE / VACUUM ANALYZE)
>
>--
>Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
>Voy a acabar con todos los humanos / con los humanos yo acabaré
>voy a acabar con todos / con todos los humanos acabaré (Bender)
>_______________________________________________
>Pgsql-ayuda mailing list
>Pgsql-ayuda@tlali.iztacala.unam.mx
>http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda

_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger: 
http://messenger.yupimsn.com/