【问题标题】:Why does my SSIS package takes so long to execute?为什么我的 SSIS 包需要这么长时间才能执行?
【发布时间】:2015-06-27 17:46:23
【问题描述】:

我是创建 SSIS 包的新手。我有以下名为 BanqueDetailHistoryRef 的 SQL Server 2008 表,其中包含 10,922,583 行。

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

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

在查找时我已设置:

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

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

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

为什么会这样?这是实现我想要的结果的正确方法吗?

【问题讨论】:

  • 你需要BanqueDetailHistoryRef的每一列吗?
  • 是的,我需要所有的列。

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


【解决方案1】:

您没有显示您的 OLEDB 源组件是如何设置的,但查看表名我猜您正在加载 OLEDB 源中的全部 1000 万行,然后使用查找仅过滤掉您需要。这太慢了。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    相关资源
    最近更新 更多