Hola,
Estoy empezando a crear funciones en plpgsql, y la verdad tengo
bastantes dudas
Tengo que recorrerme varias veces el resultado de un mismo query y la
verdad no se cual es la mejor, la tabla va ha ser grande y sera una
tabla muy concurrida, y necesito que la funcion sea muy rápida
Este es el query
SELECT ubicacion,articulo,lote,sum(entradas-salidas)
FROM movi
WHERE movi.id_contenedor = a407.i_contenedor
GROUP BY ubidacion,articulo,lote
HAVING sum(entradas - salidas) <> 0
ORDER BY ubidacion,articulo,lote
el resultado estará mas o menos entre 0 y 3 filas
Mis dudas :
- ¿la segunda vez que intente hacer un loop, esta en cache y no cuesta ?
- ¿Mejor lo vuelco a un record.array y recorro el array las veces que
necesite? ¿como lo vuelco?
- Declaro un cursor y solo lo habro una vez (con el OPEN) y luego lo
recorro con fecth las veces que necesite?
- y la ultima que se me ocurre y mas limpia, si utilizo sentecias select
sobre esta que actuaria como una subconsulta que si esta en cache iria
rapido (esto ultimo es algo que creo yo)
Algo asi ....
SELECT a. ...
from
(SELECT ubicacion,articulo,lote,sum(entradas-salidas)
FROM movi
WHERE movi.id_contenedor = a407.i_contenedor
GROUP BY ubidacion,articulo,lote
HAVING sum(entradas - salidas) <> 0
ORDER BY ubidacion,articulo,lote)) a
group by a. ....
Gracias ..
-
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