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

RE: explain sql (never executed)

From: Henry <hensa22(at)yahoo(dot)es>
To: Henry <hensa22(at)yahoo(dot)es>, Edwin Perez Lozano <edwinandperez(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE: explain sql (never executed)
Date: 2007-10-13 01:02:29
Message-ID: 693514.55567.qm@web30813.mail.mud.yahoo.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
--- Henry <hensa22(at)yahoo(dot)es> escribió:

> 
> --- Edwin Perez Lozano <edwinandperez(at)gmail(dot)com>
> escribió:
> 
> > Buen dia.
> > 
> > Tengo la siguiente consulta:
> > 
> > explain analyze SELECT g.numero_guia AS
> > guia_numero_guia,
> > o.descripcion AS ubicacion_descripcion,
> > g.fecha_manifiesto AS
> > guia_fecha_manifiesto,
> > g.cantidad_piezas AS guia_cantidad_piezas,
> > c.codigo_concepto AS
> > concepto_codigo_concepto,
> > c.concepto AS
> > concepto_concepto,c.descripcion_concepto AS
> > concepto_descripcion_concepto,
> > g.consecutivo_registro AS
> guia_consecutivo_registro,
> > d.descripcion AS
> > ubicacion_A_descripcion
> > FROM guia g INNER JOIN concepto c ON
> > c.codigo_concepto=g.codigo_concepto
> >     INNER JOIN ubicacion o ON
> > o.codigo_ubicacion=g.ciudad_origen 
> >     INNER JOIN ubicacion d ON
> > d.codigo_ubicacion=g.ciudad_destino
> > WHERE g.fecha_manifiesto = '2007-10-03' and
> > g.ciudad_origen = 12601 and 
> >       g.codigo_concepto= 82
> > ORDER BY d.descripcion, c.descripcion_concepto,
> > g.consecutivo_registro
> > ASC;
> > 
> > el resultado es el siguiente:
> > 
> > 
> > QUERY PLAN 
> >
>
---------------------------------------------------------------------------------------------------------------------------------------------------
> >  Sort  (cost=2677.10..2679.73 rows=1055 width=71)
> > (actual
> > time=1.371..1.371 rows=0 loops=1)
> >    Sort Key: d.descripcion,
> c.descripcion_concepto,
> > g.consecutivo_registro
> >    ->  Hash Join  (cost=26.77..2624.12 rows=1055
> > width=71) (actual
> > time=1.282..1.282 rows=0 loops=1)
> >          Hash Cond: (g.ciudad_destino =
> > d.codigo_ubicacion)
> >          ->  Nested Loop  (cost=0.00..2582.21
> > rows=1223 width=62)
> > (actual time=1.281..1.281 rows=0 loops=1)
> >                ->  Nested Loop  (cost=0.00..16.55
> > rows=1 width=46)
> > (actual time=0.109..0.112 rows=1 loops=1)
> >                      ->  Index Scan using
> > pk_concepto on concepto c
> > (cost=0.00..8.27 rows=1 width=29) (actual
> > time=0.060..0.061 rows=1
> > loops=1)
> >                            Index Cond: (82 =
> > codigo_concepto)
> >                      ->  Index Scan using
> > pk_ubicacion on ubicacion o
> > (cost=0.00..8.27 rows=1 width=17) (actual
> > time=0.043..0.044 rows=1
> > loops=1)
> >   Index Cond: (12601 => codigo_ubicacion)
> >                ->  Index Scan using idx_guia_11 on
> > guia g
> > (cost=0.00..2553.44 rows=1223 width=26) (actual
> > time=1.166..1.166 rows=0
> > loops=1)
> >  Index Cond: (fecha_manifiesto =
> > '2007-10-03'::date)
> >     Filter: ((ciudad_origen =
> > 12601) AND
> > (codigo_concepto = 82))
> >          ->  Hash  (cost=18.01..18.01 rows=701
> > width=17) (never
> > executed)
> >                ->  Seq Scan on ubicacion d 
> > (cost=0.00..18.01 rows=701
> > width=17) (never executed)
> >  Total runtime: 1.620 ms
> > (16 filas)
> > 
> > Pero no entiendo la ultima parte donde realiza un
> > seq scan y a lo ultimo
> > indica un never executed, a que se debe eso?? es
> > porque no es necesario
> > utilizar el indice (rows=701).?¿
> > 
> > De antemano gracias por la informacion.
> > 
> 
> si te das cuenta devuelve 0 filas, y como estas
> usando
> un AND,  ya no es necesario que ejecute las demas
> sentencias, por que aun asi las demas filas tengan
> tenaga alguna coincidencia no te va a devolver
> ninguna
> fila  la cosulta complete en si.
> 
> por eso el planeador ya no las tomas en cuenta,
> seria
> mal gastos de recursos de CPU en vano.
> 

Index Cond: (12601 = codigo_ubicacion)
               ->  Index Scan using idx_guia_11 on
guia g
(cost=0.00..2553.44 rows=1223 width=26) (actual
time=1.166..1.166
 rows=0
loops=1)

dandole una ojeada al tu explain, aqui esta el asunto,
devuelve 0 fila, 
aqui no esta cumpliendo la condicion en el Join, por
eso ya lo que viene despues es en vano, por eso ya no
es ejecutado





      ______________________________________________ 
Sé un Mejor Viajero                                      
¿Quieres saber cómo? ¡Deja que otras personas te ayuden!
http://advision.webevents.yahoo.com/reto/viaje.html

In response to

Responses

pgsql-es-ayuda by date

Next:From: Edwin Perez LozanoDate: 2007-10-13 01:36:14
Subject: RE: explain sql (never executed)
Previous:From: HenryDate: 2007-10-13 00:45:43
Subject: RE: explain sql (never executed)

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