sql azure размер партии
Есть некоторые задачи сегментации сотрудников, которые приводят к большому количеству записей (около 2000), которые необходимо вставить в SQL Azure. Сами записи очень маленькие, около 4 целых чисел. Рабочая роль Azure выполняет задачу сегментации и вставляет результирующие строки в таблицу SQL Azure. Таких задач может быть несколько (каждая с приблизительно 1000 - 2000 строками) в очереди, и, следовательно, каждая из этих вставок должна будет выполняться довольно быстро.
Синхронизация тестов с использованием локальной машины для SQL Azure заняла значительное время (примерно 2 минуты для 1000 вставок). Это может быть вызвано задержкой в сети. Я предполагаю, что вставки из рабочей роли должны быть намного быстрее.
Тем не менее, поскольку структура сущностей не позволяет выполнять пакетную вставку, мы думали об использовании SQLBulkCopy. Приведет ли использование SQLBulkcopy к снижению количества запросов, если размер пакета скажет 1000? Есть ли рекомендуемый подход?
1 ответ
Массовое копирование API должно идеально соответствовать вашим целям и значительно повысить производительность.
Я протестировал вставку 10 миллионов записей с размером пакета 2000 в базу данных Azure, и при запуске с моего локального компьютера не происходило регулирования с производительностью ~10 секунд на пакет.