Aprovechando este tema, alguien puede explicarme exactamente que es un indice agrupado, cuando puede utilizarse, para que sirve y cual su diferencia con un indice normal.
Por su colaboracion, mil gracias. El 1 de marzo de 2013 07:27, Santiago Bravo <[email protected]> escribió: > 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 <[email protected]> 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 < > > [email protected]> 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 > >> <[email protected]>escribió: > >> > >>> 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 > >>> > >> > >> > > > > > > -- > > *Marcos Héctor Trotti* > > > > - > Enviado a la lista de correo pgsql-es-ayuda ([email protected] > ) > Para cambiar tu suscripción: > http://www.postgresql.org/mailpref/pgsql-es-ayuda > -- ------------------------------------------------------------------ Cordialmente, *Carlos Edward Grajales* Colombia Software Ltda. Calle 18 N No. 3N-24 Ofc.902 Cali - Colombia www.colombiasoftware.net Cel. 313 765 0594 Tel: (2) 489 79 40
