Tengo entendido que distinct es maligno para las consultas en donde el resultado tiene muchos datos, incluso con subconsultas tenés mejor performance.
Guillermo Villanueva <http://ar.linkedin.com/in/guillermovillanueva> El 26 de febrero de 2013 15:57, Jaime Casanova <ja...@2ndquadrant.com>escribió: > 2013/2/26 Santiago Bravo <sbrav...@gmail.com>: > > 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 (pgsql-es-ayuda@postgresql.org > ) > Para cambiar tu suscripción: > http://www.postgresql.org/mailpref/pgsql-es-ayuda >