![]() |
#9 |
Участник
|
Цитата:
Сообщение от glibs
![]() Значит смотрите. Есть два подхода решения проблемы:
1. Лбом сквозь стену. 2. Рациональный. Первый психологически проще. Можно и прямой запрос написать, и в Аксапте что-то делать. Второй предполагает выработку оптимального решения. Вы говорите, что у вас за 1 000 000 проводок. Кто-то их поштучно просматривает? Они действительно нужны? М.б. можно свернутые сделать? И как вы их анализируете? М.б. их в OLAP можно перенести? Ну и т.д. ![]() Цитата:
Сообщение от glibs
![]() Если решать в лоб, то сравните скорость отработки вашего джоба, но с полностью закомментированной вставкой. Причем в одном случае это делайте в транзакции, а во втором не в транзакции. Из разницы во времени вы поймете грубоватую оценку того, сколько времени уходит на чтение, сколько на вставку, и сколько на блокировки.
Предположительно, у вас тормозит вставка. Потом посмотрите, в какую таблицу вы пишете. Там есть индексы (особенно кластерные)? ![]() Возможно, вы правы. Хотя по профайлеру физическая вставка РекордИнсертЛист.InsertDatbase() не так много занимает. Пытался проанализировать с помощью профайлера но на количестве записей большем чем 500 ну оооочень долго делает. И, как мне показалось, не совсем адекватные результаты иногда дает, нелогичные. - 56% - собственно запрос while select (хотя если отдельно запустить, без while - исполняется очень бысто) - 33% - операции над каждой записью, в том числе создание добавление єлемента РекордИнсертЛист - вставка где-то в оставшихся % За идеи спасибо!
__________________
-- regards, Oleksandr |
|
|
|