Re: Consejos

From: "Miguel Angel (dot)" <rev_angel(at)hotmail(dot)com>
To: alvherre(at)commandprompt(dot)com, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Consejos
Date: 2007-01-23 01:44:01
Message-ID: BAY131-F19AADE948C23223EB5EA0C90AD0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ok, gracias.
Y respondiendo a la pregunta uso el primer indíce para los joins, pero el
segundo es una aclaración "voluntaria"(obligatoria) de mi superior para que
se muevan más rápidos las uniones, en casos como:

SELECT categoria FROM categoria WHERE id_categoria=?;

Pero bueno.

>From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
>To: "Miguel Angel ." <rev_angel(at)hotmail(dot)com>
>CC: lnunez(at)enelserver(dot)com, pgsql-es-ayuda(at)postgresql(dot)org
>Subject: Re: [pgsql-es-ayuda] Consejos
>Date: Mon, 22 Jan 2007 20:38:36 -0300
>
>Miguel Angel . escribió:
>
> > Agregando un indice como:
> > CREATE INDEX categoria_categoria_id_categoria ON categoria(id_categoria,
> > categoria);
> >
> > Me ayuda con querys como SELECT * FROM categoria WHERE id_categoria=?
>AND
> > categoria=?, pero lo hace lento cuando solo busco uno de los dos
>valores.
> > Entónces es correcto que yo tenga los 3 indíces para mejorar el
> > redimiento, de la siguiente manera, para cubrir todas las posibles
> > combinaciones ó existe una mejor forma?
>
>En 8.1 y superior, puedes obviar este ultimo indice y Postgres hara una
>mezcla de los dos indices que si tienes, en caso de ser conveniente.
>Cuando hagas busquedas por id_categoria, siempre sera mas rapido usar el
>indice de una sola columna; cuando busques por categoria, siempre sera
>mas rapido usar el indice en (categoria).
>
>La pregunta que me surge es: realmente haces busquedas usando los dos
>criterios?
>
>Cuales son las consultas que son lentas? No creo que sean del tipo
>select * from categoria where id_categoria = ?
>verdad?
>
> > CREATE TABLE categoria ( id_categoria varchar NOT NULL, categoria
>varchar
> > NOT NULL, PRIMARY KEY (id_categoria) ) ;
> > CREATE INDEX categoria_categoria ON categoria(categoria);
> > CREATE INDEX categoria_categoria_id_categoria ON categoria(id_categoria,
> > categoria);
> > CREATE UNIQUE INDEX categoria_id_categoria ON categoria(id_categoria);
>
>Me parece a mi que el segundo indice no es util.
>
>--
>Alvaro Herrera http://www.CommandPrompt.com/
>PostgreSQL Replication, Consulting, Custom Development, 24x7 support

_________________________________________________________________
Acepta el reto MSN Premium: Correos más divertidos con fotos y textos
increíbles en MSN Premium. Descárgalo y pruébalo 2 meses gratis.
http://join.msn.com?XAPID=1697&DI=1055&HL=Footer_mailsenviados_correosmasdivertidos

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2007-01-23 03:58:11 Re: interface para bbdd postgresql
Previous Message Guido Barosio 2007-01-23 00:17:33 Re: problema con campos varchar