jvenegasperu . escribió:

> "                          ->  Bitmap Heap Scan on cat_lote l
> (cost=4.49..116.70 rows=2 width=91) (actual time=25.199..534.881 rows=86219
> loops=1)"
> "                                Recheck Cond: (d.the_geom && geo_punto)"
> "                                Filter: ((digito IS NOT NULL) AND (digito
> >= '0'::bpchar) AND (digito <= '2'::bpchar) AND (length((id)::text) > 6)
> AND _st_contains(d.the_geom, geo_punto))"
> "                                Rows Removed by Filter: 42774"
> "                                ->  Bitmap Index Scan on
> idx_cat_lote_geo_punto  (cost=0.00..4.48 rows=27 width=0) (actual
> time=23.634..23.634 rows=128993 loops=1)"
> "                                      Index Cond: (d.the_geom &&
> geo_punto)"

Es evidente que el problema está en la mala estimación en estos dos
nodos de ejecución.  Quizás el problema sea simplemente obtener un mejor
estimador para ese índice .. ¿una mejor versión de postgis quizás?
Recomiendo estudiar una consulta más simple que incluya sólo cat_lote y
cat_distrito y ver si tiene comportamiento similar.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a