From: | MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe> |
---|---|
To: | "'pgsql-es-ayuda(at)postgresql(dot)org'" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: por que SEQ SCAN Y NO INDEX SCAN |
Date: | 2008-04-19 15:24:51 |
Message-ID: | 410117BB01F4D611B73A00010331DD2403B58C7B@tsnt.tsr.com.pe |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
-----Mensaje original-----
De: Jaime Casanova [mailto:systemguards(at)gmail(dot)com]
Enviado el: Viernes, 18 de Abril de 2008 10:42 a.m.
Para: Alvaro Herrera
CC: MIGUEL CANCHAS; pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] por que SEQ SCAN Y NO INDEX SCAN
On Fri, Apr 18, 2008 at 10:29 AM, Alvaro Herrera
<alvherre(at)commandprompt(dot)com> wrote:
> MIGUEL CANCHAS escribió:
> > Tengo esta consulta, segun tengo entendido tendria que hacerse un index
scan
> > y no un seq scan , por que ?
> > Tengo indices en las tablas que corresponde a las uniones que hago
> >
> > EXPLAIN ANALYSE SELECT
> > [...]
> > FROM
> > public.hrt1
> > INNER JOIN public.mclientes ON (public.hrt1.idcliente =
> > public.mclientes.idcliente)
> > INNER JOIN public.mcolores ON (public.hrt1.idcolor =
> > public.mcolores.idcolor)
> >
>
> La razon por la que no usa ningun indice aqui es que de todas formas
> tiene que recorrer las tablas completas, asi que usar indices lo haría
> más lento. Si tuvieras un WHERE apropiado seguramente usaría índices.
>
>
cabe recordar que en postgres no existen (aun) las lecturas solo
indices, es decir, lee el indice y luego lee las tuplas de las tablas
para ver si aun son validas... asi que si piensa que van a ser muchas
tuplas es doble trabajo y lo evita haciendo el seq scan
--
Atentamente,
Jaime Casanova
Soporte de PostgreSQL
Guayaquil - Ecuador
Cel. 087171157
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
(envía "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)
*************////////////////////
Entonces como puedo solucionarlo ?
Es una consulta en donde se demora 34 segundos en "botarme" 11 registros,
demasiado tiempo.
Miguel
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-04-19 15:28:10 | Re: por que SEQ SCAN Y NO INDEX SCAN |
Previous Message | carlos alvarez osejo | 2008-04-19 15:22:20 | Re: Arrancar postgres |