Ayuda con Explain de consulta

From: "Luis Guevara" <luis(dot)a(dot)guevara(at)gmail(dot)com>
To: PostgreSQL-foro <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Ayuda con Explain de consulta
Date: 2007-05-24 17:40:36
Message-ID: fa2b6e3a0705241040s672f6945l380a063ac3631aa8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Tengo la siguiente consulta:

select a.plem_id
from planilla_empleado_movimiento a
left join planilla_empleado b using (plem_id)
where b.plan_id=388

Las tablas tienen:

planilla_empleado ---> 135,000 registros
planilla_empleado_movimiento ---> 4,900,000 registros

Su explain analyze es el siguiente:

QUERY PLAN
Hash Join (cost=10115.59..195262.73 rows=112620 width=4) (actual time=
2205.884..3482.227 rows=138918 loops=1)
Hash Cond: (a.plem_id = b.plem_id)
-> Seq Scan on planilla_empleado_movimiento a
(cost=0.00..159788.89rows=1384689 width=4) (actual time=
0.036..2733.052 rows=1384690 loops=1)
-> Hash (cost=10101.01..10101.01 rows=5829 width=4) (actual time=
15.907..15.907 rows=6893 loops=1)
-> Index Scan using planilla_empleado_idx1 on planilla_empleado b
(cost=0.00..10101.01 rows=5829 width=4) (actual time=0.098..11.105 rows=6893
loops=1)
Index Cond: (plan_id = 388)
Total runtime: 3522.568 ms

La consulta tarda 5 segundos. ¿Es posible mejorar este tiempo?

Tengo Postgres 8.2 en un servidor Linux con 4GB de RAM

Agradezco sus comentarios

--
atte.
Luis Guevara

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Oscar Cano 2007-05-24 17:52:36 Re: Ver camppos de una tabla
Previous Message Lenin Aguirre 2007-05-24 17:32:31 Ver camppos de una tabla