Лучший подход, который я (и некоторые из моих друзей) знаю, - это MERGE данные.
Для этого - создать промежуточную таблицу (ту же или другую базу данных на том же целевом сервере), которая имеетта же структура, что и у исходной таблицы + PK.Следовательно, процесс в ADF должен быть разбит на 2 шага:
- Усеченная целевая (промежуточная) таблица
- Вставить все данные из источника в промежуточную
- Запустить сохраненныйПроцедура, которая содержит оператор MERGE и всю необходимую логику.
При таком подходе вы сохраните:
- наилучшую производительность при помещении данных в промежуточную таблицу (объем)
- самый быстрый метод для сохранения (обновления / вставки) вашей целевой таблицы
- возможность реализации сложной бизнес-логики
- применение SCD (медленно меняющегося измерения) при необходимости
- уменьшить объем работы с диском
Следующие посты могут помочь вам понять процесс и построить весь оператор MERGE: [https://sqlplayer.net/category/bi/data-warehousing/]
Это довольно распространенное явлениесценарий, так что вы дали мне идею для нового сообщения в блоге.Спасибо.
Надеюсь, это поможет вам.