Цитата:
Сообщение от
Alexanderrrr
Параметры запуска:
datefrom 01.01.2009, dateto-сегодняшний день, договора отбираются только с нужным нам кодом группы финансирования.
1,2 млн. записей в custtrans
Т.е. фильтр по клиенту не задаёте? Да план запроса прояснил бы ситуацию.
Мне кажется SQLServer пытается сначала выбрать все 1,2 млн. записей из
CustTrans а уже потом сцепить их c отфильтрованым по
GroupFinancId RContractTable. Попробуйте перевернуть
Query верх ногами. Либо ещё вариант: заменить
Join на
ExistsJoin. А уже потом в цикле выбирать
RContractTable.
И ещё увидел у вас в коде
X++:
rangeDimension = queryRun.query().dataSourceTable(tableNum(CustTrans)).rangeField(fieldId2ext(fieldnum(CustTrans, Dimension),2)).value();
Вы этот фильтр не используете. он пустой во время тестирования?