#sql-server #ssis #etl
Вопрос:
У меня есть две таблицы на одном сервере и в одной базе SQL Server
данных ,имя одной из них ( Load_SLE_FACT_Invoices
), другая ( SLE_FACT_Invoices
).
Я пытаюсь перенести 100 миллионов записей данных из Load_SLE_FACT_Invoices
таблицы в SLE_FACT_Invoices
.Но, к сожалению, это занимает около 97 минут.
Как я могу увеличить скорость вставки данных в SLE_FACT_Invoices
. Следует ли мне использовать специальные технологии ? Пожалуйста, помогите мне. Даже я использую Balanced Data Distributor
компонент, но он не может увеличить скорость вставки данных.
ОБРАТИТЕ внимание:После использования Balanced Data Distributor
я преобразовал данные в одну таблицу(SLE_FACT_Invoices)
Ответ №1:
Это не решение, а обходной путь.
Если вы можете это сделать, попробуйте удалить/приостановить ограничения (первичный ключ, внешний ключ,…), которые у вас есть в ваших таблицах.
Это может помочь повысить производительность вставки.
Прежде чем сделать это, убедитесь, что данные хорошо сформированы, чтобы не возникало проблем при повторном создании/повторной активации ограничений.
Комментарии:
1. Йоханн, спасибо за ваш ответ, я тоже сделал это решение, я думаю
Balanced Data Distributor
, что этот компонент слишком медленно выполнялся, поэтому я удалил его, но теперь это занимает 70 минут, даже я использовал размер буфера, но я собираюсь уменьшить его больше, чем раньше.