排序归并连接Merge Sort Join

本文介绍了排序归并连接算法的实现步骤,包括排序和归并过程。通过伪代码和实例展示了如何对已排序的表进行合并,讨论了表的访问次数以及在不同查询条件下的执行计划。此外,还探讨了优化器如何处理包含永假条件的查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击▲关注 “数据和云”   给公众号标星置顶

更多精彩 第一时间直达


1

实现算法


排序归并连接算法大致可以分为以下几步:

(1)首先以目标SQL中指定的谓词条件(如果有的话)去访问表T1,然后对访问结果按照表T1中的连接列来排序,排好序后的结果集我们记为结果集1。

(2)接着以目标SQL中指定的谓词条件(如果有的话)去访问表T2,然后对访问结果按照表T2中的连接列来排序,排好序后的结果集我们记为结果集2。

(3)最后对结果集1和结果集2执行合并操作。

排序归并连接可以分为2个过程:排序、归并。以下介绍的是归并实现的算法。这个算法用伪代码实现如下:

pr := r的第一个记录的地址;

ps := s的第一个记录的地址;

while (ps≠null and pr≠null) do

begin ts := ps所指向的记录; Ss := { ts };

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值