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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

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