У меня есть источник данных ERP, имеющий 16 миллионов записей, и мне нужно выбрать только несколько тысяч записей, но на основе данных из другого источника, где условие сработало бы, но данных, которые должны использоваться, где условие приходит из другого источника нана другом сервере традиционный подход заключается в использовании объединения слиянием, которое занимает очень много времени.Мне нужен подход без слияния или поиска столбца, чтобы сделать это быстрее.Ниже приведено то, что я сделал для синхронизации данных из ERP в базу данных компании
Вышеуказанный пакет предназначен для финансовых транзакций и ежедневно синхронизируется каждое утро с БД Компании, поскольку данные ERPТолько для чтения. Чтобы синхронизировать 16 миллионов записей, у меня уходит 30 минут с задачами parllel и разбиением таблиц, однако Финансовый департамент теперь хочет вручную запускать пакет, когда хочет, скажем, он хочет синхронизировать только 100 записей ERP с компанией Db,если используется приведенное ниже решение, оно сканирует все 16 миллионов записей, чтобы получить необходимые 100 записей для синхронизации, чтобы дать пример использования. Финансовый отдел выбирает несколько регистров в приложении нашей компании (использует базу данных компании), приложение компании должно запускать пакет только для этих книг.чтобы получить обновленный баланс сети в приложении компании. Так что мой подход состоял в том, чтобы сохранить выбранные книги в таблице и соединить таблицу с ERP в пакете служб SSIS.и продолжайте как ежедневная утренняя синхронизация (выше apckage)
SELECT netbalance FROM ERP WHERE ledger in (SELECT ledgercode from MYSKM )
Я хотел добиться чего-то подобного выше, но это невозможно, так как ERP и MYSKM находятся на разных серверах