对于SSIS,桌面视图或条件性分割来说哪个更快?

时间:2009-09-01 09:59:55

标签: sql-server oracle ssis

我有一个SSIS项目,其中一个步骤涉及从Oracle表填充SQL Server表。

Oracle表格中有一列 ssis_control_flag 。我想将所有将此字段设置为“T”的记录拉出来。

现在,我想知道哪种方法最好的方式,以及我在问题中详述的两个选项。

所以真的,我想知道哪个会更快/更好。我应该在SSIS包中创建一个条件拆分来过滤掉我想要的所有记录吗?或者我应该在Oracle中创建一个基于条件选择记录的视图,并将该视图用作SSIS中的数据源?

或者有更好的方法吗?非常感谢您的帮助!

由于

2 个答案:

答案 0 :(得分:2)

为什么不使用WHERE子句来过滤记录,而不是创建视图?可能是我没有正确回答你的问题。

然后通常,不建议将所有数据带到SSIS然后过滤掉。特别是当你可以在源DB端自己进行过滤时。还要考虑网络带宽成本。

然后,您在此处讨论的这个特定过滤器无法在SSIS中以比DB更高的效率完成。因此,在Oracle DB本身中做得更好。

答案 1 :(得分:1)

您可以使用openrowset作为数据流源的查询,而不是直接访问Oracle表。