From: | "Gilberto Castillo" <gilberto(dot)castillo(at)etecsa(dot)cu> |
---|---|
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:33:31 |
Message-ID: | 52572.192.168.207.54.1394814811.squirrel@webmail.etecsa.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> Hola lista.
>
> Tengo la siguiente consulta:
>
> SELECT
> tarifa.consecutivo AS tarifa,
> caracteristica_predio_oi_predio.oi_predio
> FROM tarifa
> JOIN caracteristica_predio_tarifa ON
> caracteristica_predio_tarifa.tarifa::text = tarifa.consecutivo::text
>
> JOIN caracteristica_predio_oi_predio ON
> caracteristica_predio_oi_predio.caracteristica_predio::text =
> caracteristica_predio_tarifa.caracteristica_predio::text
> AND caracteristica_predio_oi_predio.estado::text = 'ACTIVO'::text
> AND (caracteristica_predio_oi_predio.vigencia::text = ''::text OR
> caracteristica_predio_oi_predio.vigencia IS NULL OR
> caracteristica_predio_oi_predio.vigencia::text = tarifa.vigencia::text)
>
> WHERE tarifa.estado::text = 'ACTIVO'::text
>
>
> Y a las tablas le cree los siguientes indices:
>
> CREATE INDEX tarifa_estado_ix
> ON tarifa USING btree (estado ASC NULLS LAST);
>
> CREATE INDEX caracteristica_predio_oi_predio_estado_ix
> ON caracteristica_predio_oi_predio USING btree (estado ASC NULLS LAST);
>
> CREATE INDEX caracteristica_predio_oi_predio_caracteristica_predio_ix
> ON caracteristica_predio_oi_predio USING btree (caracteristica_predio
> ASC NULLS LAST);
>
> CREATE INDEX caracteristica_predio_oi_predio_vigencia_ix
> ON caracteristica_predio_oi_predio USING btree (vigencia ASC NULLS
> LAST);
>
> CREATE INDEX caracteristica_predio_oi_predio_vigencia_estado_ix
> ON caracteristica_predio_oi_predio USING btree (vigencia, estado);
>
>
> Pero haciendo un explain no los toma:
>
> "Hash Join (cost=62.82..2455.25 rows=102826 width=11)"
> " Output: tarifa.consecutivo, caracteristica_predio_oi_predio.oi_predio"
> " Hash Cond:
> ((caracteristica_predio_oi_predio.caracteristica_predio)::text =
> (caracteristica_predio_tarifa.caracteristica_predio)::text)"
> " Join Filter: (((caracteristica_predio_oi_predio.vigencia)::text =
> ''::text) OR (caracteristica_predio_oi_predio.vigencia IS NULL) OR
> ((caracteristica_predio_oi_predio.vigencia)::text =
> (tarifa.vigencia)::text))"
> " -> Seq Scan on caracteristica_predio_oi_predio (cost=0.00..162.44
> rows=8595 width=29)"
> " Output: caracteristica_predio_oi_predio.consecutivo,
> caracteristica_predio_oi_predio.caracteristica_predio,
> caracteristica_predio_oi_predio.oi_predio,
> caracteristica_predio_oi_predio.vigencia,
> caracteristica_predio_oi_predio.estado"
> " Filter: ((estado)::text = 'ACTIVO'::text)"
> " -> Hash (cost=59.97..59.97 rows=228 width=13)"
> " Output: tarifa.consecutivo, tarifa.vigencia,
> caracteristica_predio_tarifa.caracteristica_predio"
> " -> Hash Join (cost=7.13..59.97 rows=228 width=13)"
> " Output: tarifa.consecutivo, tarifa.vigencia,
> caracteristica_predio_tarifa.caracteristica_predio"
> " Hash Cond: ((tarifa.consecutivo)::text =
> (caracteristica_predio_tarifa.tarifa)::text)"
> " -> Seq Scan on tarifa (cost=0.00..44.66 rows=1573
> width=10)"
> " Output: tarifa.consecutivo, tarifa.avaluo_inicial,
> tarifa.avaluo_final, tarifa.destino_economico, tarifa.tipo_predio,
> tarifa.tarifa, tarifa.estado, tarifa.area_construida_inicial,
> tarifa.area_construida_final, tarifa.area_terreno_inicial,
> tarifa.area_terreno_final, tarifa.estrato, tarifa.tipo,
> tarifa.fecha_cambio, tarifa.registrado_por, tarifa.fecha_creacion,
> tarifa.usuario_creacion, tarifa.vigencia,
> tarifa.porcentaje_limite_incremento, tarifa.uso_predio"
> " Filter: ((estado)::text = 'ACTIVO'::text)"
> " -> Hash (cost=4.28..4.28 rows=228 width=8)"
> " Output: caracteristica_predio_tarifa.tarifa,
> caracteristica_predio_tarifa.caracteristica_predio"
> " -> Seq Scan on caracteristica_predio_tarifa
> (cost=0.00..4.28 rows=228 width=8)"
> " Output: caracteristica_predio_tarifa.tarifa,
> caracteristica_predio_tarifa.caracteristica_predio"
>
>
> Que puedo hacer para que la consulta sea más rápida?
Varias cosas, solo necesitamos más detalles de tu problema para poder
ayudarte.
Saludos,
Gilberto Castillo
La Habana, Cuba
Attachment | Content-Type | Size |
---|---|---|
unknown_filename | text/plain | 179 bytes |
unknown_filename | text/plain | 157 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | William Diaz Pabón | 2014-03-14 16:48:07 | Re: Fwd: Consulta no usa los indices |
Previous Message | Alvaro Herrera | 2014-03-14 16:29:50 | Re: Fwd: Consulta no usa los indices |