Интерпретация и предварительная настройка параметра BATCHSIZE? - PullRequest
0 голосов
/ 12 октября 2011

Так что я играю с заявлением BULK INSERT и начинаю его любить.То, что говорил SQL Server Import/Export Wizard 7 часов, занимает всего 1-3 часа, используя BULK INSERT.Тем не менее, я наблюдаю, что время до завершения сильно зависит от спецификации BATCHSIZE.

Ниже приведено время, которое я наблюдал для файла объемом 5,7 ГБ, содержащего 50 миллионов записей:

BATCHSIZE = 50000,  Time Taken: 17.30 mins
BATCHSIZE = 10000,  Time Taken: 14:00 mins
BATCHSIZE = 5000 ,  Time Taken: 15:00 mins

Это только меня интересует: можно ли определить хорошее число для BATCHSIZEЕсли да, то от каких факторов это зависит и может ли оно быть аппроксимировано без необходимости выполнения одного и того же запроса десятки раз?

Мой следующий запуск будет 70 ГБ файл, содержащий 780 миллионов записей.Мы ценим любые предложения?Я сообщу результаты, как только закончу.

1 Ответ

1 голос
/ 12 октября 2011

Здесь есть некоторая информация , и кажется, что размер партии должен быть настолько большим, насколько это практически возможно; В общем, в документации говорится, что чем больше размер пакета, тем выше производительность, но вы этого не испытываете. Кажется, что 10k - это хороший размер пакета для начала, но я бы посмотрел на оптимизацию массовой вставки под другими углами, такими как перевод базы данных в простой режим или указание подсказки таблока во время гонки импорта.

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