Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Длительный экспорт больших объемов данных 1С-> MSSQL / 4 сообщений из 4, страница 1 из 1
28.10.2010, 14:10
    #36925565
Дэр Пароль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длительный экспорт больших объемов данных 1С-> MSSQL
Всем привет!

Очередная задача по экспорту данных из 1С в таблицы MS SQL.
Программист 1С формирует пакетные запросы типа
Код: plaintext
1.
2.
3.
4.
5.
6.
insert into table
select  1 , 2 , 3 
union all
select  4 , 5 , 6 
union all
...
В пакете идет 1000 таких строк, пакетов получается несколько.
При запуске команды через ADODB.Command вставка одного пакета отрабатывает 25 секунд. При запуске аналогичного пакета на сервере в окне Management Studio запрос отрабатывает 1 секунду.

Куда копать?
...
Рейтинг: 0 / 0
28.10.2010, 14:31
    #36925639
Дэр Пароль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длительный экспорт больших объемов данных 1С-> MSSQL
Полечилось установкой размера пакета в 50 строк.
Экспорт ускорился с 20 минут до 50 секунд!

Всем спасибо! :)
...
Рейтинг: 0 / 0
29.10.2010, 22:56
    #36928815
oleg_shishkin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длительный экспорт больших объемов данных 1С-> MSSQL
По умолчанию в ADO стоит режим AUTOCOMMIT = ON , поэтому после каждого insert дается команда COMMIT. Для подавления данного режима надо принудительно давать команды

Connection.Execute("BEGIN TRANSACTION");
Connection.Execute("set implicit_transactions off");

на сервер уйдет
BEGIN TRANSACTION
set implicit_transactions off

и уже в конце всех пакетов
посылать
Connection.Execute("Commit");

а лучше всего инсертить записи без union
друг за другом

BEGIN TRANSACTION
set implicit_transactions off
insert into table
select 1,2,3
insert into table
select 4,5,6
commit
...
Рейтинг: 0 / 0
29.10.2010, 22:59
    #36928823
oleg_shishkin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длительный экспорт больших объемов данных 1С-> MSSQL
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Длительный экспорт больших объемов данных 1С-> MSSQL / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]