У меня есть пакет SSIS, который экспортирует 2,5 ГБ данных, содержащих 10 миллионов записей в Sql Server Database, в которой есть 10 разделов, включая PRIMARY FILE GROUP.Есть ли религия для "ROW PER BATCH" И "MAX INSERT COMMIT SIZE" В пакетах SSIS?
Перед Изменения по умолчанию Макс Вставить Commit размера т.е. «2147483647» и Row за партию .It принимает 7 минут для завершенной трансформации с быстрой опцией нагрузки.
Но после того, как вы сделали несколько приличных значений с помощью какой-то формулы, выполнение было выполнено всего за 2 минуты.
FYI- DefaultMaxBufferRows & DefaultMaxBufferSize было значение по умолчанию в обоих scenorio т.е. 10000 и 10 МБ соответственно.
Для расчета Макс Вставить Commit размер & Row на партию Ниже calucation используются.
1) Рассчитанная длина записей из передаваемого источника. который составляет около 1038 байт.
CREATE TABLE [dbo].[Game_DATA2](
[ID] [int] IDENTITY(1,1) NOT NULL, -- AUTO CALCULATED
[Number] [varchar](255) NOT NULL, -- 255 bytes
[AccountTypeId] [int] NOT NULL, -- 4 bytes
[Amount] [float] NOT NULL,-- 4 bytes
[CashAccountNumber] [varchar](255) NULL, -- 255 bytes
[StartDate] [datetime] NULL,-- 8 bytes
[Status] [varchar](255) NOT NULL,-- 255 bytes
[ClientCardNumber] [varchar](255) NULL -- 255 bytes
)
2) Строки в расчете = количество_байтов/байт на запись = 32767/1038 = 32 прибл.
3) Макс вставка фиксации размер = размер packate * количество сделки = 32767 * 100 = 3276700 (Packate размер и номер транзакции являются переменными могут изменяться в соответствии с требованием)
Вопрос:
Есть ли какая-либо релевантность строк в каждом пакете и максимальном размере фиксации вставки? Поскольку в архиве нет информации, упомянутой в архиве article для настройки DFT (DATA FLOW TASK).
Эти конфигурации работают вместе с DefaultBuffermaxzie и
DefualtBuffermaxrows? Если да, то как?
Итак, какое значение RPB для файла имеет фактическое ожидаемое количество строк в 10 миллионов. Может быть, мы используем формулу выше? Или это метод ** try и error ** base. –
@HarsimranjeetSingh, оставив RPB по умолчанию, устанавливает его в фактический номер строки в insert, OLE DB делает это за вас. Вы можете установить ограничения, описанные выше. В вашем случае я сначала играл бы с MICS. – Ferdipux