科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道解析:教你快速的了解什么是“合并联接”

解析:教你快速的了解什么是“合并联接”

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

合并联接要求两个输入都在合并列上排序,而合并列由联接谓词的等效 (WHERE) 子句定义。查询优化器一般扫描索引,或在合并联接的下面放一个排序运算符。

作者:赛迪网 luolina 来源:天新网 2008年3月27日

关键字: Mssql SQL SQL Server 数据库

  • 评论
  • 分享微博
  • 分享邮件

合并联接要求两个输入都在合并列上排序,而合并列由联接谓词的等效 (WHERE) 子句定义。查询优化器一般扫描索引(如果在适当的一组列上存在一个索引),或在合并联接的下面放一个排序运算符。在很少的情况下,虽然可能有多个等效子句,但只用其中一些可用的等效子句获得合并列。

由于每个输入都已排序,Merge Join 运算符将获取每个输入中的行并将其进行比较。例如,对于内联接操作,如果行相等则返回。如果行不相等,则废弃值较小的行并从该输入中获得另一行。这一过程将重复进行,直到处理完所有的行为止。

合并联接操作可以是常规操作,也可以是多对多操作。多对多合并联接使用临时表存储行。如果每个输入中有重复值,则在处理其中一个输入中的每个重复项时,另一个输入必须重绕到重复项的开始位置。

如果存在驻留谓词,所有满足合并谓词的行都将对该驻留谓词取值,然后只返回那些满足该驻留谓词的行。

合并联接本身的速度很快,但如果需要排序操作,选择合并联接就会非常费时。然而,如果数据量很大且能够从现有 B 树索引中获得预排序的所需数据,则合并联接通常是最快的可用联接算法。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章