![]() |
#12 |
Member
|
Цитата:
Сообщение от Oleksandr
...
Да, индексы есть, два, каждый из 5 полей, оба уникальных, и кластерный. ![]() ... Вариант оптимизации — писать в таблицу без индексов, потом копировать в таблицу с индексами. Здесь можно применить и прямой SQL (с RecId уже проблем не будет). Но это очень жесткий (я бы сказал экстремальный) метод. Цитата:
Сообщение от Oleksandr
...
Хотя по профайлеру физическая вставка РекордИнсертЛист.InsertDatbase() не так много занимает. Пытался проанализировать с помощью профайлера но на количестве записей большем чем 500 ну оооочень долго делает. И, как мне показалось, не совсем адекватные результаты иногда дает, нелогичные. - 56% - собственно запрос while select (хотя если отдельно запустить, без while - исполняется очень бысто) - 33% - операции над каждой записью, в том числе создание добавление єлемента РекордИнсертЛист - вставка где-то в оставшихся % ... Так все-таки, если отказаться от вставки — т.е. прогнать скрипт вхолостую — сколько времени уйдет? Просто секундомером замерить нужно без профайлера. Т.е. закоментарьте строчки ttsbegin; this.writePrognosisLines... prognosisLineList.insertDatabase(); this.prognosisTotals(); ttscommit; Если будет долго, то бросайте. Нужно будет разбирать сам select.
__________________
С уважением, glibs® |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|