Hola a todos, ante todo muchas gracias por sus opiniones, les contaré
que todo se resolvió al declarar a la clave principal de la tabla
fin_documento (iddocumento) como un indice agrupado, solo con eso el
resultado me lo da casi inmediatamente.
Santiago


El 28/02/13, Marcos Héctor Trotti <marcostro...@gmail.com> escribió:
> 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*
>

-
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

Reply via email to