我正在尝试了解 SSIS,对此几乎没有疑问。
我想比较 2 个表。1 个表在Sql Server
,另一个在Oracle
.
两个表都将具有相同的架构,如下所示:
Sql Server:
Id Amount
1 100
2 200
3 300
Oracle:
Id Amount
3 3000
2 2000
1 1000
这只是一些示例记录,因为我在源(1200 万)和目标(1200 万)中有 2400 万条随机顺序的记录。
任务joining id column from source and target
:我正在尝试比较源数据和目标数据。因为源数据和目标数据之间始终存在 1 对 1 匹配,Amount column
因此我知道Look up transformation
在这种情况下会这样做。
但是,我有一些疑问:
1) 如果我从源和目标的查询中触发 select *,那么 2400 万条记录将保留在哪里?在记忆中?
2)在这种情况下我可以得到内存异常吗?
3)由于结果集(即)在源和目标中的顺序不同,查找将如何工作?它会加载所有源数据,然后通过不加载整个目标数据来匹配目标数据中的 1 条记录吗?
4) SSIS 如何处理源和目标的数百万数据比较?
任何人都可以帮我消除以上疑虑吗?