|
ускорить массовую запись в регистр расчета |
☑ |
0
cons74
01.08.14
✎
07:26
|
Добрый день.
Требуется загрузить данные из сторонней программы в ЗУП по регистрам расчета, за 2 года.
Гружу через обработку ЗагрузкаИзТабличногоДокумента. первые несколько записей идут быстро - а потом все медленнее и медленнее.
Как я понял итоги в РР не отключить (их вроде нет), монопольный режим включил.
Что еще сделать?
|
|
1
МихаилМ
01.08.14
✎
07:57
|
воспользоваться поиском по форуму.
|
|
2
ИС-2
01.08.14
✎
08:04
|
Можно распараллелить с помощью нескольких сеансов и фоновых заданий. Но для однакратной перегрузки нет смысла.
Если файловая, то сделать перенос на SSD диске
|
|
3
Escander
01.08.14
✎
08:09
|
ОбменДанными.Загрузка = Истина ?
|
|
4
Maxus43
01.08.14
✎
09:19
|
>>а потом все медленнее и медленнее.
в одной транзакции значит идёт.
Если не принципиально, то вне транзакции делай
|
|
5
cons74
01.08.14
✎
09:31
|
(4) я тоже так подозреваю, но не вижу - где:
в коде-то
Функция ЗаписатьОбъект(Объект, ТекстыЯчеек = Неопределено)
Отказ = Ложь;
НачатьТранзакцию();
...
Если Не Отказ Тогда
Попытка
Объект.Записать();
Исключение
Отказ = Истина;
ОписаниеОшибки = ОписаниеОшибки();
КонецПопытки;
КонецЕсли;
...
Если Не Отказ Тогда
ЗафиксироватьТранзакцию();
Иначе
мСообщитьОбОшибке(ОписаниеОшибки);
ОтменитьТранзакцию();
КонецЕсли;
Возврат Не Отказ;
Т.е. каждая строка пишется вроде-бы в отдельной транзакции.
Есть мысль что виноваты перерасчеты...
|
|
6
Maxus43
01.08.14
✎
09:47
|
(5) смысл писать один объект в транзакции, если запись и так в транзакции... я хз
|
|
7
Maxus43
01.08.14
✎
09:52
|
копай сюда
РегистрРасчетаНаборЗаписей.<Имя регистра расчета> (CalculationRegisterRecordSet.<Имя регистра расчета>)
Записать (Write)
Синтаксис:
Записать(<Замещать>, <ТолькоЗапись>, <ЗаписьФактическогоПериодаДействия>, <ЗаписьПерерасчетов>)
только запись надо, остальное нафиг. Перерасчеты потом, но будет долго
|
|
8
1Сергей
01.08.14
✎
09:55
|
(5) смысл транзакционирования в том, что ты готовишь некий блок данных и записываешь одним махом. В этом есть небольшой (а иногда и большой) выигрыш по времени, нежели каждую запись в отдельной транзакции
|
|
9
cons74
01.08.14
✎
10:30
|
(6) это типовая обработка
(7) ага, только что сделал
(8) спасибо, попробую
|
|
10
ИС-2
01.08.14
✎
10:31
|
|
|
11
cons74
01.08.14
✎
11:41
|
(10) долго читал, ничего такого не увидел
|
|
12
_fvadim
01.08.14
✎
11:44
|
для начала совсем выкини транзакции
|
|