Oracle和SQL Server中的MERGE语句

时间:2016-01-04 19:04:52

标签: sql-server oracle ssis merge

我想在SSIS中使用merge语句。我有一个源(Oracle)和一个目标(SQL Server)。表格和结构都相同。

我需要根据某些日期条件插入,更新和删除数据。我的问题是我应该使用合并加入或查找表,因为我在Oracle中有超过4000万条记录。

如果需要更多说明,请告诉我。我会为您提供更多信息。我不擅长发帖,但原谅我。

1 个答案:

答案 0 :(得分:0)

我个人会将oracle表转移到SQL Server并在本地执行任何操作。我几乎总是使用这种方法(没有任何大小与您的数据相当),但在处理基于云的数据库(延迟等)时也很有用。值得注意的是,如果您的源中没有日期时间列,则可以使用ORA_ROWSCN伪列,该列为您提供原始更改集以在本地加载。

我已经阅读了很多关于Merge join没有执行准确连接的故事 - 我希望你的大小数据可能是一个问题。

查找也可能是一个问题,因为它必须缓存所有内容的大小(这将尝试将所有oracle记录加载到SSIS中,以便更好地在本地传输它。)

希望这会有所帮助:)