[Pgsql-ayuda] Indices Lento

Edwin Quijada listas_quijada@hotmail.com
Fri, 05 Sep 2003 17:22:45 +0000


Mira Alvaro aca esta el explain y el select que hago:

Hola aca tengo el codigo del select:
SELECT
    a.f_codigo_cliente,
    a.f_fecha_inicio_vigencia,
    a.f_fecha_fin_vigencia,
    b.f_nombre,
    b.f_apellido,
    e.f_chassis,
    e.f_placa,
    e.f_registro,
    e.f_color,
    e.f_year,
    g.f_descripcion_marca,
    f.f_descripcion_modelo
FROM
    t_poliza_vehiculos     a,
    t_clientes     b,
    t_vehiculos_asegurados     d,
    t_vehiculos     e,
    t_agentes     c,
    t_marcas_vehiculos     g,
    t_modelos     f
WHERE
    a.f_codigo_cliente = b.f_codigo_cliente AND
    a.f_agente = c.f_codigo_agente AND
    a.f_wholenum = d.f_wholenum AND
    d.f_idvehiculo = e.f_keyvehiculo AND
    e.f_modelo = f.f_idmodelo AND
    f.f_idmarca = g.f_codigo_marca AND
    a.f_wholenum = 'POL000001';

Y este es el explain analyze que hice del select:
Esto dura alrededor de 20seg en ejecutarse
////////////////
Merge Join  (cost=79.44..7127.72 rows=226 width=347)
Merge Cond: ("outer".f_wholenum = "inner".f_wholenum)
->  Nested Loop  (cost=0.00..7025.77 rows=1807 width=116)
       ->  Nested Loop  (cost=0.00..17.13 rows=1 width=44)
             Join Filter: ("outer".f_agente = "inner".f_codigo_agente)
             ->  Index Scan using t_poliza_vehiculos_f_wholenum_idx on 
t_poliza_vehiculos a  (cost=0.00..17.07 rows=5 width=40)
                   Index Cond: (f_wholenum = 'POL000001'::bpchar)
             ->  Seq Scan on t_agentes c  (cost=0.00..0.00 rows=1 width=4)
       ->  Index Scan using f_id on t_clientes b  (cost=0.00..6986.05 
rows=1807 width=72)
             Index Cond: ("outer".f_codigo_cliente = b.f_codigo_cliente)
->  Sort  (cost=79.44..79.76 rows=125 width=231)
       Sort Key: d.f_wholenum
       ->  Hash Join  (cost=43.53..75.09 rows=125 width=231)
             Hash Cond: ("outer".f_codigo_marca = "inner".f_idmarca)
             ->  Seq Scan on t_marcas_vehiculos g  (cost=0.00..20.00 
rows=1000 width=43)
             ->  Hash  (cost=43.47..43.47 rows=25 width=188)
                   ->  Hash Join  (cost=18.15..43.47 rows=25 width=188)
                         Hash Cond: ("outer".f_idvehiculo = 
"inner".f_keyvehiculo)
                         ->  Seq Scan on t_vehiculos_asegurados d  
(cost=0.00..20.00 rows=1000 width=28)
                         ->  Hash  (cost=18.14..18.14 rows=5 width=160)
                               ->  Nested Loop  (cost=0.00..18.14 rows=5 
width=160)
                                     ->  Seq Scan on t_vehiculos e  
(cost=0.00..1.01 rows=1 width=113)
                                     ->  Index Scan using 
t_modelos_f_idmodelo_idx on t_modelos f  (cost=0.00..17.07 rows=5 width=47)
                                           Index Cond: ("outer".f_modelo = 
f.f_idmodelo)
/////////////////////////

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