кто шарит 1000 записей INSERT за 30 секунд это долго, быстро или нормально?
кто шарит 1000 записей INSERT за 30 секунд это долго, быстро или нормально?
(2). BULK INSERT
(2) скорее всего индекс какой то есть на инсертиуемой таблице. Задержка идет на пересчете индекса. Особенно если таблица большая.
Если есть постоянно необходимость инсертить большими объемами, то надо инсертить этот объем в стеджинговую таблицу - временная таблица, свободная от индексов, которую после операции зачищают.
Потом одной операцией перенести все из стейджинга в таблицу с индексом. Тогда индекс будет пересчитываться один раз, а не после каждого инсерта
Или триггеры
(4) + 100
В виртуальную табличку, пот ом в базу. Но для каждого случая тестить надо.
Через что инсертишь? АДО очень небыстрая штука. Через внешний источник будет быстрее намного.
(8). Можешь кусок кода выложить, каким образом Insert проходит?
Если ВыгрузкаДанныхВКаталог Тогда СохранитьЗапросСКЛВТекстовыйФайл(ТекстМассива, "INSERT"); Иначе //Соединение.BeginTrans(); Соединение.Execute(ТекстМассива,,128); //Соединение.CommitTrans(); КонецЕсли;
ничего особенного вроде.
Hans через адо было 90 сек 1000 записей. Начали через файл, стало 30 сек.
Верным путем идете товарищи. Через внешний источник будет еще быстрее