[pgsql-ayuda] Seq. scan

David Martinez Cuevas david@estadistica.unam.mx
Thu, 5 Nov 1998 20:36:16 -0600 (CST)


Ya se que es un poco tarde para estas preguntillas, pero ahi les va:

Tengo entendido que existe alguna forma de evitar los 'Seq. scan' y asi se
ahorra tiempo de ejecucion en los querys...

Pues bien, el query que estoy trabajando es este:


SELECT PRY.nombre as "Proyecto", DEP.nombre as "Colaboracin Interna" ,
       TIY.nombre as "Tipo de Proyecto",
       PRD.nombre as "Tipo de Producto",
       TID.nombre as "Tipo de Producto",
       EXT.nombre as "Colaborador Externo", 
       FUE.nombre as "Fuente de Financiamiento"
FROM   proyecto PRY, dependencia DEP, tipoproyecto TIY,
       tipoproducto TID, externo EXT, fuentefinanc FUE,
       producto PRD,prycol_ext,prycol_int
WHERE  PRY.fuentefinanc = FUE.fuentefinanc AND
       PRY.tipoproyecto = TIY.tipoproyecto AND
       PRY.proyecto = PRD.proyecto AND
       PRD.tipoproducto = TID.tipoproducto AND
       PRY.proyecto = prycol_ext.proyecto AND
       prycol_ext.externo = EXT.externo AND
       PRY.proyecto = prycol_int.proyecto AND
       prycol_int.dependencia = dep.dependencia;



Si, si !!   ya se que esta muy jalado de los pelos, pero es el peor de los
casos...

Cuando le doy un explain me muestra lo siguiente:


Nested Loop  (cost=0.00 size=1 width=156)
  ->  Nested Loop  (cost=0.00 size=1 width=132)
        ->  Nested Loop  (cost=0.00 size=1 width=116)
              ->  Nested Loop  (cost=0.00 size=1 width=108)
                    ->  Nested Loop  (cost=0.00 size=1 width=92)
                          ->  Nested Loop  (cost=0.00 size=1 width=72)
                                ->  Nested Loop  (cost=0.00 size=1 width=56)
                                      ->  Nested Loop  (cost=0.00 size=1 width=32)
                                            ->  Seq Scan on tid (cost=0.00 size=0 width=16)
                                            ->  Seq Scan on tiy (cost=0.00 size=0 width=16)
                                      ->  Seq Scan on pry  (cost=0.00 size=0 width=24)
                                ->  Seq Scan on fue  (cost=0.00 size=0 width=16)
                          ->  Seq Scan on prd  (cost=0.00 size=0 width=20)
                    ->  Seq Scan on ext  (cost=0.00 size=0 width=16)
              ->  Seq Scan on prycol_ext  (cost=0.00 size=0 width=8)
        ->  Seq Scan on prycol_int  (cost=0.00 size=0 width=16)
  ->  Seq Scan on dep  (cost=0.00 size=0 width=24)


Lo cual es bastante lepero... pero creo que existe alguna forma de evitar
los 'Seq Scan'....

alguien por ahi sabe como ????



David Martinez Cuevas	   
     Office 622-60-80      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
     Home 565-25-17          "Eat Linux, Drink Linux...  SMOKE LINUX "
                           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   

--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : cancelacion pgsql-ayuda