> 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
--- This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at host imx3.etecsa.cu Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>
- Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
