At 04:43 12/04/2012, ViBaSoft wrote:
Estimados colegas
Tengo una consulta compleja para sacar la existencia por depósitos, tengo una tabla que se llama existencia en la cual cargo los productos en cada deposito eso implica que un productos puede estar en varios depósitos, y a través de esta consulta obtengo el stock real, pero la consulta tarda mucho porque en ventas tengo como 8 millones de registro, básicamente tengo 4 columna que me interesa, stock inicial, cant comprada, cant salida, cant entrada y cant vendida y el saldo = Stock inicial + cant comprada + cant entrada – cant salida – cant vendida

Tambien tengo un campo “saldo” en la tabla existencia que actualizo por trigger pero no confio tanto, me gusta más recalcular todo a la hora de sacar la existencia.

V_productos es una vista porque ay es donde tengo realmente mi producto unitario y presentación porque un producto unitario puede tener varias presentaciones y cada presentación se maneja como uno independiente. El campo estado y disp_stock se usa por unitario y por presentación

Mi Consulta  ¿ay alguna forma de optimizar la consulta?


Asi de primeras:

Te hace un external sort a disco, prueba a aumentar el work_mem para hacer que lo haga en memoria.

Tienes indices creados en factura? Puede que un indice sobre <sucursal,factura,dpto> te ayude.


Agradezco la atención y a continuación pongo mi sql

Un saludo

-
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

Responder a