【问题标题】:Merge join or Lookup which is cost affective in ssis在 ssis 中具有成本效益的 Merge join 或 Lookup
【发布时间】:2014-03-12 16:06:45
【问题描述】:

我需要加入 2 个超过 2000 万记录的表。下面提到的解决方案哪个好

    1 one Oledb componet and a lookup component 

 2 Two oldeb componets,2 sort componets and a merge join componets

【问题讨论】:

  • 根据我的个人经验,查找表的大小应该更小以获得最大的性能增益。我更喜欢使用带有连接提示的 T-SQL。
  • 我同意。如果数据在同一台服务器上,请先使用 T-SQL 将其加入服务器上。此外,合并连接可能会导致多个结果(如果多个记录匹配),而查找不会,因此它们实际上会做不同的事情

标签: etl ssis ssis-2008 ssis-2005


【解决方案1】:

取决于您需要查找表中的字节数。如果您使用合并连接,那么通过键读取 by sql 排序然后直接连接到合并连接转换可能是一个好主意。

【讨论】:

  • 您推荐使用 T-SQL 连接吗?如果我使用合并连接,那么我必须使用排序组件 rt?排序也很昂贵
  • 除非您的查找可以被缓存,即考虑到 20M 行,记录大小非常小,似乎加入是一个更好的主意。您可能还想探索一个基于 sql 命令的完整解决方案,不仅仅是排序,还有连接。
【解决方案2】:

当有很多记录时,查找选项更好:它提供更好的性能,因为它是同步转换。

【讨论】:

    猜你喜欢
    • 2011-10-07
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多