From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | William Diaz Pabón <widipa(at)gmail(dot)com> |
Cc: | PostgreSQL Español Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Consulta no usa los indices |
Date: | 2014-03-14 16:17:42 |
Message-ID: | 20140314161742.GE6899@eldon.alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
William Diaz Pabón escribió:
> Hash Join (cost=62.82..2455.25 rows=102826 width=11) (actual time=6.006..186.428 rows=100738 loops=1)
> Output: t.consecutivo, cpp.oi_predio
> Hash Cond: ((cpp.caracteristica_predio)::text = (cpt.caracteristica_predio)::text)
> Join Filter: (((cpp.vigencia)::text = ''::text) OR (cpp.vigencia IS NULL) OR ((cpp.vigencia)::text = (t.vigencia)::text))
> -> Seq Scan on caracteristica_predio_oi_predio cpp (cost=0.00..162.44 rows=8595 width=29) (actual time=0.019..12.759 rows=8595 loops=1)
> Output: cpp.consecutivo, cpp.caracteristica_predio, cpp.oi_predio, cpp.vigencia, cpp.estado
> Filter: ((estado)::text = 'ACTIVO'::text)
> -> Hash (cost=59.97..59.97 rows=228 width=13) (actual time=5.970..5.970 rows=228 loops=1)
> Output: t.consecutivo, t.vigencia, cpt.caracteristica_predio
> -> Hash Join (cost=7.13..59.97 rows=228 width=13) (actual time=0.755..5.571 rows=228 loops=1)
> Output: t.consecutivo, t.vigencia, cpt.caracteristica_predio
> Hash Cond: ((t.consecutivo)::text = (cpt.tarifa)::text)
> -> Seq Scan on tarifa t (cost=0.00..44.66 rows=1573 width=10) (actual time=0.006..2.402 rows=1573 loops=1)
> Output: t.consecutivo, t.avaluo_inicial, t.avaluo_final, t.destino_economico, t.tipo_predio, t.tarifa, t.estado, t.area_construida_inicial, t.area_construida_final, t.area_terreno_inicial, t.area_terreno_final, t.estrato, t.tipo, t.fecha_cambio, t.registrado_por, t.fecha_creacion, t.usuario_creacion, t.vigencia, t.porcentaje_limite_incremento, t.uso_predio
> Filter: ((estado)::text = 'ACTIVO'::text)
> -> Hash (cost=4.28..4.28 rows=228 width=8) (actual time=0.691..0.691 rows=228 loops=1)
> Output: cpt.tarifa, cpt.caracteristica_predio
> -> Seq Scan on caracteristica_predio_tarifa cpt (cost=0.00..4.28 rows=228 width=8) (actual time=0.008..0.306 rows==228 loops=1)
> Output: cpt.tarifa, cpt.caracteristica_predio
> Total runtime: 308.551 ms
Uhm, ¿no te falta una condición de join entre cpt y cpp? A menos que
cada registro en cpt pueda tener válidamente más de un registro en cpp
(según esto, en promedio hay 100738 / 8595 = 11,72). En otras palabras
yo había esperado intuitivamente que la salida fuera de 8595 registros.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | William Diaz Pabón | 2014-03-14 16:18:45 | Re: Consulta no usa los indices |
Previous Message | raul andrez gutierrez alejo | 2014-03-14 16:09:42 | Re: Consulta no usa los indices |