| From: | Marcos Héctor Trotti <marcostrotti(at)gmail(dot)com> | 
|---|---|
| To: | "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com> | 
| Cc: | Jaime Casanova <jaime(at)2ndquadrant(dot)com>, Santiago Bravo <sbravomp(at)gmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> | 
| Subject: | Re: Dudas con "distinct" | 
| Date: | 2013-02-28 11:47:08 | 
| Message-ID: | CAJs8MEr27pFmEXXP6DjLmyvXco_kLiL4EBke-w31Qwp2iRzPWA@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
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 <
guillermovil(at)gmail(dot)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 <jaime(at)2ndquadrant(dot)com>escribió:
>
>> 2013/2/26 Santiago Bravo <sbravomp(at)gmail(dot)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(at)postgresql(dot)org)
>> Para cambiar tu suscripción:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>
>
>
-- 
*Marcos Héctor Trotti*
| From | Date | Subject | |
|---|---|---|---|
| Next Message | marcelo mendoza | 2013-02-28 13:56:04 | Re: Postgres /HP-UX | 
| Previous Message | Guillermo E. Villanueva | 2013-02-28 11:42:23 | Re: Dudas con "distinct" |