![]() |
#13 |
Участник
|
Цитата:
![]() Физически, Aхapta всегда оборачивает запрос в курсор-SQL, а план выполнения для курсора может принципиально отличаться от плана выполнения для запроса Т.е. для целей тестирования именно производительности запроса в SQL надо делать так X++: DECLARE test CURSOR FOR select * from ledgerTrans with (index (ACDate)) //Имя индекса будет другое where ledgerTrans.dataAreaId = 'dat' // Если есть dataAreaId and ledgerTrans.AccountNum = "AccountNum" and ledgerTrans.TransDate <= '20200229' and ledgerTrans.Posting = 14 --LedgerPostingType::LedgerJournal open test // Тормоза ожидаются вот здесь FETCH NEXT FROM test //Перебор записей WHILE @@FETCH_STATUS = 0 begin FETCH NEXT FROM test end CLOSE test DEALLOCATE test Правда обычно тормоза бывают на самом первом шаге. На самом первом FETCH. Дальше обычно все быстро идет. Если же тормоза наблюдаются в процессе перебора записей, то попробуйте для начала перестроить индексы...
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: trud (2). |
Теги |
ax2009, fetch api_cursor, sql server |
|
|