Цитата:
Сообщение от
ansoft
Что если перестроить запрос так:
while select [fields] from inventTable
where inventTable.ItemType != .....
В данном случае необходимо также использовать forcenestedloop forceselectorder, чтобы цикл join'a начинался именно с InventTable. И еще попробуйте соптимизировать критерии выборки, например условие:
inventTrans.StatusReceipt == StatusReceipt::None && inventTrans.StatusIssue == StatusIssue::Sold
эквивалентно:
inventTrans.StatusIssue == StatusIssue::Sold ,
т.к. StatusReceipt и StatusIssue одновременно никогда не бывают не-None.
Аналогично,
inventTrans.DateFinancial
&& inventTrans.DateFinancial >= dateFrom && inventTrans.DateFinancial <= dateTo
проверка на непустую дату inventTrans.DateFinancial явно избыточна, если dateFrom и dateTo заведомо не пустые и т.д.