Почему бы вам не попробовать создать хеш (MD5 или аналогичный) для каждой записи?Если вы также сохраняете / вычисляете на лету хэш MD5 загруженных данных, вы можете быстро определить, используя первичные ключи таблицы и хеш MD5, если что-то изменилось, или действительно, если запись не существует.
Это, конечно, должно быть сделано для каждой таблицы.
Мы использовали аналогичный метод, использующий данные SQL OLTP в качестве источника в DWH, работает очень хорошо!