【问题标题】:In SSIS, why input for merge/merge join need to be sorted?在 SSIS 中,为什么需要对合并/合并连接的输入进行排序?
【发布时间】:2016-06-03 10:28:59
【问题描述】:

我在面试中被问到为什么需要对数据进行排序以进行合并和合并连接转换?我知道我们可以通过对源数据进行排序并设置一些属性来使用合并和合并连接而无需排序转换。但是仍然必须对数据进行排序,请告诉我为什么它是强制性的?

【问题讨论】:

  • 合并连接算法需要对数据进行排序。这是算法所做的假设,它使其成为一种非常有效的算法,或者嵌套循环连接算法不需要对数据进行排序。阅读合并连接和嵌套循环算法的工作原理,您可能会更好地理解。换句话说,您可以对已排序的数据使用嵌套循环连接或合并连接,但合并连接会更快。

标签: ssis merge transformation


【解决方案1】:

它大大加快了匹配速度。如果您对两叠不完整的卡片进行成像,并且您想找到其中的共同卡片。

首先尝试洗牌,将它们并排放置,面朝上。说在左边你得到黑桃十,现在在右手边的甲板上搜索黑桃十。由于它没有顺序,您可能需要查看每张牌才能找到该牌组末尾的黑桃十。

现在按花色和价值对这些套牌进行排序并尝试相同的练习,您现在应该了解排序的帮助。排序过程需要时间和资源,但比匹配排序列表要少得多,并且随着记录(卡片)数量增加到数百万,差异呈指数增长。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 2016-02-01
    相关资源
    最近更新 更多