[Pgsql-ayuda] Codigo de la busqueda

Josué Maldonado josue@lamundial.hn
Fri, 05 Sep 2003 11:21:02 -0600


Hola Edwin,

¿Cual es tu pregunta especifica?

Edwin Quijada wrote:
> 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)
> /////////////////////////
> 


-- 
Josué Maldonado.