【问题标题】:When to use Lookup & Merge join Transformation in SSIS [closed]何时在 SSIS 中使用查找和合并连接转换 [关闭]
【发布时间】:2014-06-30 11:09:42
【问题描述】:

我是 SSIS(集成服务)的新手。何时在 SSIS 中使用 Lookup & Merge join Transformations 我有点进退两难。

请不要告诉我它们之间的区别,我已经知道它们了。我想知道在哪些情况下必须使用 Lookup & merge join。

【问题讨论】:

    标签: ssis msbi


    【解决方案1】:

    我能想到 MERGE JOIN 的唯一原因是当您有 2 个巨大的未排序数据源并且您无法将它们全部拉入内存以在管道中对其进行排序。

    请探索互联网世界,你肯定会找到一些东西。

    编辑

    使用合并连接而不是查找

    如果您需要在数据流中进行一次性联接(而不是多次查找),请考虑使用合并联接转换而不是查找转换。 Jamie Thomson 有一篇很棒的文章比较了这两种方法,并证明使用 Merge Join 比使用 Lookup 更有效。主要原因是 Merge Join 采用流式方法,而不是花时间预先缓存其值。流逻辑在 SSIS 2012 中也得到了进一步改进——当一个源比另一个源快很多时,Merge Join 现在可以防止一个输入获得过多的缓冲区。

    在考虑这种方法时请记住以下几点:

    两个输入都必须排序。理想情况下,这种排序可以推送到源查询中。如果数据尚未排序(即没有索引),排序的成本可能会超过这种方法的好处。 源组件在读取其所有数据之前不会结束,因此如果您的传入数据具有少量行,并且您正在加入更大的数据集(在此特定客户的场景中就是这种情况) , Merge Join 方法并不理想。在这些类型的场景中,部分缓存查找往往效果最佳。

    礼貌:

    1. MSDN WEBSITE
    2. MattMasson

    【讨论】:

    • 我没有得到任何东西,所以在这里问。
    • 我已经分享了一些相同的链接和描述,请参考。希望这对你有帮助! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多