2013/2/26 Santiago Bravo <[email protected]>: > Hola a todos, tengo una consulta que solo me devuelve 3 registros pero > se me demora alrededor de 3 min, la consulta en si es: > > select distinct idregdocum, nombrelargo > from fin_documento d > inner join fin_regdocum r on r.idregdocum = d.idregdoc > inner join fin_obligacion o on d.iddocumento = o.iddocumento > where r.ingresoegreso = -1 >
Que versión de postgres es esta? puedes mostrar el plan de ejecucion? que pasa si cambias el distinct por un "GROUP BY idregdocum, nombrelargo" al final de la consulta? prueba con esta consulta que te pongo y mira si es mejor o peor (o si devuelve los datos apropiados) select distinct idregdocum, nombrelargo from fin_documento d inner join fin_regdocum r on r.idregdocum = d.idregdoc where r.ingresoegreso = -1 and exists(select true from fin_obligacion o where o.iddocumento = d.iddocumento) -- Jaime Casanova www.2ndQuadrant.com Professional PostgreSQL: Soporte 24x7 y capacitación Phone: +593 4 5107566 Cell: +593 987171157 - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
