Помогает ли «Строка на пакет» назначение SSIS OLE DB уменьшить блокировку? - PullRequest
0 голосов
/ 10 декабря 2018

В пункте назначения OLE DB есть опция 'Rows per batch', которая, если указана, извлекает определенное количество строк в пакете, в противном случае все строки в источнике извлекаются в одном пакете.

Вопрос: Если мой исходный сервер и / или сервер targer полностью базируются на OLTP, то установление низкого значения для этого параметра (например, 10k или 50k) поможет снизить вероятность повышения блокировки, так что процесс загрузки может оказать минимальное влияние наиз баз данных?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

«Количество строк в пакете» на самом деле больше для настройки вашего потока данных.Вычислив максимальную ширину строки в байтах, а затем разделив размер буфера по умолчанию (по умолчанию 10 МБ), вы получите количество строк, которые вы можете вставить в один «пакет», не выливая данные в базу данных tempdb или вашу.буферный диск (в зависимости от того, определено ли для вас временное расположение буфера).Сохраняя поток данных полностью в памяти и не выпуская его на диск, вы обеспечите максимально быстрое перемещение данных.

Параметр «Блокировка таблицы» в назначении OLE DB - это то, что сообщаетсервер для блокировки таблицы или нет.

0 голосов
/ 10 декабря 2018

В общем, ответ: да.Это также зависит от скорости обработки строк и накладных расходов на пакет.Если ваша транзакция со всеми строками в пакете занимает много времени, рассмотрите возможность разделения.Но разделение его на слишком малые партии также может привести к проблемам с производительностью.

Лучший способ - это проверить и найти точку сладости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...