为什么我的SSIS包需要这么长时间才能执行?

时间:2015-06-27 17:46:24

标签: sql ssis sql-server-2008-r2

我是一个相当新的创建SSIS包。我有以下SQL Server 2008表,名为BanqueDetailHistoryRef,包含10,922,583行。

我想提取在特定日期(或多个日期)插入的行,并将它们插入另一台服务器上的表中。我试图通过SSIS实现这一点,该图如下所示:

OLEDB Source (the table with the 10Million+ records) --> Lookup --> OLEDB Destination

在查找中我设置了: enter image description here enter image description here enter image description here

现在,查询(在Lookup转换中指定):

  

SELECT * FROM BanqueDetailHistoryRef WHERE ValueDate ='2014-01-06';

大约需要1秒才能运行SQL Server Management Studio,但所描述的SSIS包需要很长时间才能运行(比如一小时)。

为什么造成这种情况?这是实现我预期结果的正确方法吗?

1 个答案:

答案 0 :(得分:2)

您没有显示您的OLEDB源组件是如何设置的,但查看表名称我猜您正在加载OLEDB源中的整个1000万行,然后使用Lookup过滤掉您的那些需要。这是不必要的慢。

您可以完全删除Lookup并使用查找中的相同查询过滤OLEDB源中的行。

相关问题