Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Oscar CanoDate: 2007-05-24 17:52:36
Subject: Re: Ver camppos de una tabla
Previous:From: Lenin AguirreDate: 2007-05-24 17:32:31
Subject: Ver camppos de una tabla

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group