Показать сообщение отдельно
Старый 06.10.2010, 14:56   #11  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,514 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Подниму тему, ибо обнаружилось любопытное исключение из правил расчёта.
Если InventSum и InventTrans различаются на порядки (т.е. по каждому остатку много проводок), то схема mazzy однозначно оптимальна. А вот если разница менее порядка (т.е. по каждому разрезу было лишь несколько движений) - то оказывается выгоднее именно считать сумму количества в проводках с начала времён. Как я понимаю, это результат специфики работы SQL, который занимается черновой работой по схлопыванию записей - когда складских проводок по разрезу мало, то перебор свёрнутых по аналитике InventTrans идёт быстрее, чем перебор InventSum с расчётом остатка по каждому из них.

Вот пример такой ситуации. В InventSum 1,5 млн. строк, в InventTrans - 8 млн. Стоит задача определить отрицательный остаток во всех разрезах за определённый период (т.е. номенклатура-дата из периода-разрез-отрицательное количество). По схеме mazzy аксапта работала 13,5 часов. Суммированием InventTrans - полчаса. Результаты совпали
__________________
С уважением,
Вячеслав