Capaz este link pueda ayudarte a mejorar la performance de las consultas
con distinct

http://explainextended.com/2009/05/03/postgresql-optimizing-distinct/


El 28 de febrero de 2013 08:42, Guillermo E. Villanueva <
guillermo...@gmail.com> escribió:

> 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
>>
>
>


-- 
*Marcos Héctor Trotti*

Responder a