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

Re: Ayuda con rendimiento..

From: Leonardo Castillo <leonardo(at)hacer(dot)ula(dot)ve>
To: Mario <gonzalemario(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con rendimiento..
Date: 2007-02-23 16:24:02
Message-ID: 6.1.1.1.2.20070223122204.028e3ec0@deneb.hacer.ula.ve (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Saludos amigos listeros...

Aquí les mando la consulta principal del sistema y su EXPLAIN. Con respecto 
al uso de memoria virtual, cada back end de postgres toma 7MB del SWAP y 
200 MB de Shared Memory física.

Consulta:

select distinct 
CC.acceso,CC.ext_acceso,CC.UBICACION 

from (( ( ( ((DOCUMENT CT01
  INNER JOIN CENTRAL CC ON
         (CT01.ACCESO = CC.ACCESO AND CT01.EXT_ACCESO = CC.EXT_ACCESO) and
          ( CT01.NUMERO LIKE '%1%' ) ))
  INNER JOIN  DOCUMENT CT02  on
         (CC.acceso = CT02.acceso and CC.ext_acceso = 
CT02.ext_acceso  and  ( CT02.FECHA_ISO LIKE '2000%' ) ))
  INNER JOIN  (CODDESC CT03 INNER JOIN DESCRIPT DE03 ON
         (CT03.COD_DESC = DE03.CODESC) AND DE03.TIPO = 'PAR' and  ( 
DE03.DESCRIPTOR = 'SANTA LUCIA' AND DE03.TIPO = 'PAR') ) on
         (CC.acceso = CT03.acceso and CC.ext_acceso = CT03.ext_acceso ))
  INNER JOIN  (CODDESC CT04 INNER JOIN DESCRIPT DE04 ON
         (CT04.COD_DESC = DE04.CODESC) AND DE04.TIPO = 'EOPN' and Not ( 
DE04.DESCRIPTOR = 'VALIDADO' AND DE04.TIPO = 'EOPN') ) on
         (CC.acceso = CT04.acceso and CC.ext_acceso = CT04.ext_acceso ))
)
  , codtit ctt
  inner join titulos tit on
          (ctt.portada = '1' and ctt.cod_titulo = tit.cod_titulo)
where CC.nivel_reg <> 's'
  AND (CC.TIPO_LITER  = 'U11')
AND (CC.CODIGO IS NULL OR CC.CODIGO IN ('','U0240000000*'))

  and CC.acceso = ctt.acceso and
  CC.ext_acceso = ctt.ext_acceso ORDER BY  3 ASC;

Explain:

Unique  (cost=59712.53..59712.55 rows=1 width=43)
   ->  Sort  (cost=59712.53..59712.54 rows=1 width=43)
         Sort Key: cc.ubicacion, cc.acceso, cc.ext_acceso
         ->  Nested Loop  (cost=16873.87..59712.52 rows=1 width=43)
               ->  Hash Join  (cost=16873.87..59706.38 rows=1 width=47)
                     Hash Cond: ((ctt.acceso)::text = (ct01.acceso)::text)
                     Join Filter: (ctt.ext_acceso = ct01.ext_acceso)
                     ->  Hash Join  (cost=10696.15..51572.10 rows=521747 
width=25)
                           Hash Cond: (ctt.cod_titulo = tit.cod_titulo)
                           ->  Seq Scan on codtit ctt  (cost=0.00..22194.38 
rows=521747 width=29)
                                 Filter: ((portada)::text = '1'::text)
                           ->  Hash  (cost=5723.51..5723.51 rows=286051 
width=4)
                                 ->  Seq Scan on titulos 
tit  (cost=0.00..5723.51 rows=286051 width=4)
                     ->  Hash  (cost=6177.71..6177.71 rows=1 width=147)
                           ->  Nested Loop  (cost=47.33..6177.71 rows=1 
width=147)
                                 ->  Nested Loop  (cost=47.33..6170.66 
rows=1 width=104)
                                       ->  Nested 
Loop  (cost=47.33..6163.52 rows=1 width=79)
                                             ->  Nested 
Loop  (cost=47.33..6148.07 rows=1 width=50)
                                                   ->  Nested 
Loop  (cost=47.33..6007.37 rows=22 width=25)
                                                         ->  Index Scan 
using tipodesc01 on descript de03  (cost=0.00..8.28 rows=1 width=4)
                                                               Index Cond: 
(((tipo)::text = 'PAR'::text) AND ((tipo)::text = 'PAR'::text))
                                                               Filter: 
((descriptor)::text = 'SANTA LUCIA'::text)
                                                         ->  Bitmap Heap 
Scan on coddesc ct03  (cost=47.33..5968.52 rows=2446 width=29)
                                                               Recheck 
Cond: (ct03.cod_desc = de03.codesc)
                                                               ->  Bitmap 
Index Scan on cod_desc  (cost=0.00..46.72 rows=2446 width=0)
                                                                     Index 
Cond: (ct03.cod_desc = de03.codesc)
                                                   ->  Index Scan using 
document_pk on document ct02  (cost=0.00..6.38 rows=1 width=25)
                                                         Index Cond: 
(((ct03.acceso)::text = (ct02.acceso)::text) AND (ct03.ext_acceso = 
ct02.ext_acceso))
                                                         Filter: 
((fecha_iso)::text ~~ '2000%'::text)
                                             ->  Index Scan using 
coddesc_pk on coddesc ct04  (cost=0.00..15.38 rows=5 width=29)
                                                   Index Cond: 
(((ct04.acceso)::text = (ct03.acceso)::text) AND (ct04.ext_acceso = 
ct03.ext_acceso))
                                       ->  Index Scan using document_pk on 
document ct01  (cost=0.00..7.13 rows=1 width=25)
                                             Index Cond: 
(((ct04.acceso)::text = (ct01.acceso)::text) AND (ct04.ext_acceso = 
ct01.ext_acceso))
                                             Filter: ((numero)::text ~~ 
'%1%'::text)
                                 ->  Index Scan using central_pk on central 
cc  (cost=0.00..7.03 rows=1 width=43)
                                       Index Cond: (((ct01.acceso)::text = 
(cc.acceso)::text) AND (ct01.ext_acceso = cc.ext_acceso))
                                       Filter: (((nivel_reg)::text <> 
's'::text) AND ((tipo_liter)::text = 'U11'::text) AND ((codigo IS NULL) OR 
((codigo)::text = ANY (('{"",U0240000000*}'::character varying[])::text[]))))
               ->  Index Scan using descriptor_pk on descript 
de04  (cost=0.00..6.13 rows=1 width=4)
                     Index Cond: (ct04.cod_desc = de04.codesc)
                     Filter: (((tipo)::text = 'EOPN'::text) AND 
(((descriptor)::text <> 'VALIDADO'::text) OR ((tipo)::text <> 'EOPN'::text)))


Atte.
Leonardo Castillo
Hacer Sistemas C.A.

Oficina: +58(274)2527198, 2528808
Movil: +58(416)4718010 


In response to

Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2007-02-23 16:24:59
Subject: Re: Ayuda con rendimiento..
Previous:From: Leonel NunezDate: 2007-02-23 16:15:21
Subject: Re: Ayuda con rendimiento..

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