0

Я использую SSIS для переноса данных из существующей базы данных в базу данных MDS. Я следую за следующим потоком управления;Вставка таблицы листов в SQL Server MDS очень медленная

  1. Усекать TableName_Leaf
  2. Загрузка данных НТГ

Второй шаг имеет следующий поток данных:
1. Загрузка данных из базы данных источника (Это имеет около 90000 записей)
2. Примените задачу преобразования данных, чтобы преобразовать строковый тип данных в Unicode (поскольку MDS поддерживает только Unicode)
3. Укажите TableName_Leaf как назначение OLE DB.

Шаг 1 и 2 завершаются быстро, но вставка в таблицу листов очень медленная. (Чтобы переместить 100 строк до конца, потребовалось 40 секунд и около 6 минут, чтобы переместить 1000 записей.)

Я попытался удалить дополнительные ограничения из таблицы Leaf, но это также не улучшило производительность.

Есть ли другой способ вставить данные в MDS, который быстрее или лучше?

+2

Отбросьте все индексы \ ограничения \ pks, а затем создайте свою вставку (BULK INSERT), это будет намного быстрее. – sagi

+0

Я отбросил ограничения и индексы. Где именно мы указываем вставку как Bulk Insert? –

+1

Чтобы повторить, что sagi сказал более формально, прочитайте статью MSDN «Оптимизация производительности массового импорта» (https://technet.microsoft.com/en-us/library/ms190421 (v = sql.105) .aspx) »и его вспомогательные статьи для многих советов (включая отключение/падение индексов и ограничений). –

ответ

0

Использование таблицы Таблица или просмотр - быстрая загрузка. в соединении назначения OLE DB помогло решить проблему. Я использовал размер партии 1000 для моего случая, и он работал нормально.

Смежные вопросы