Цитата:
Сообщение от
TasmanianDevil
...чем же ... вариант архитектуры агрегированных оборотов ... настолько превосходит прочие варианты получения баланса ГК, например "ближайший остаток на дату + операции да даты баланса"...
я не очень понял смысла второго варианта.
но я точно знаю чем отличается от варианта "суммирование от начала времен" - резко уменьшается выборка из базы.
LedgerBalanceTrans/ledgerBalanceDimTrans позволяют не дергать записи из LedgerTrans от начала времен.
Производительность
Стандартные методы получения сальдо/оборотов берут записи из LedgerTrans только в ближайшем финансовом периоде (который может быть уменьшен администратором с месяца до дня).
просто преступно суммировать от начала времен записи в этой таблице потому что:
- таблица LedgerTrans - входит в Top10 по объему на большинстве внедрений. А заставлять SQL делать одни и те же громадные выборки - не комильфо.
- у таблицы LedgerTrans до сих пор переопределен метод PostLoad