hola,
a ver, esto volverá a llevar cola, espero, por el bién de todos...
Yo tengo en mi BD q el control de stock se calcula a partir de la suma de
las líneas de documentos. Pues bién, yo hasta ahora tenía una funcion
f_stockArticulo, q dado un id_articulo me calculaba su stock a partir de un
select con un sum where articulo =@articulo
Claro, esto muy chulo, pero cuando quería sacar un listado de stock, resulta
que esa función se disparaba para cada artículo lo cual hacía que la
consulta fuera relativamente lenta.
Pensando un poco decidí cambiar, borrar mi f_StockArticulo y crear un
f_ListadoStock, que también hace un sum de lineas, pero no filtra por
artículo, con lo cual en un solo select tengo el stock de todos los
artículos por almacen y tal. Bién, luego he reconstruido mi funcion
f_StockArticulo como:
select * from f_ListadoStock where articulo=@Articulo and almacen=@almacen
Claro, esto hace q el listado de stock sea muy eficiente, pero no se hasta
que punto puede ralentizar el sistema.
Que os parece, valdría la pena haber mantenido mi consulta f_StockArticulo
como estaba antes, o realmente no habrá cambios de velocidad. Mi decisión de
cambiarla fue que si mañana por el motivo que sea, necesito cambiar el
cálculo de stock, solamente tenga q ir a cambiarlo a una función, y así me
aseguro sencillez en el codigo y sobretodo mas fiabilidad.
gracias
Leer las respuestas