Показать сообщение отдельно
Старый 17.04.2013, 13:03   #1  
a-v-mikhailov is offline
a-v-mikhailov
Участник
 
37 / 14 (1) ++
Регистрация: 13.10.2010
Тормозит вставка в теповую таблицу в ОСВ по ГК
Коллеги, доброго дня. Нужна помощь коллективного опыта.

Разгоняю ГК \ Запросы \ Оборотно-сальдовая ведомость (развернуто), стала сильно тупить.

Индексы все достроил, спасибо подсказкам сиквела. Запрос стал выдавать 60 000 записей не за минуты, а за 2 сек.

Но тормоза остались. Я обнаружил их в методе \Classes\LedgerDetailedTurnoverEngine\insertLineSaldo. Там идет простая и незамсыловатая вставка каждой найденной записи ГК в темповую табличку tmpLedgerTurnoverResults. Метод простой как валенок, что то типа tmpLedgerTurnoverResults.initFromLedgerTrans(_ledgerTrans)

Он он блин работает 2 (две) минуты на 60 000 записей.

Сам цикл while (qr.next()) { .. } по курсору LedgerTrans в записей 60 000 работает быстро, а вот в виде while (qr.next()) { insertLineSaldo(ledgerTrans); } умирает

Сделал простой джоб-эмулятор типа

select firstonly _ledgerTrans;

for (i = 0; i <= 60000; i++ ) { вставка в tmpLedgerTurnoverResults }

Его время 6 секунд

Где копать?

Артем

MS DAX 4.0