排序合并连接(sort merge join)的原理

排序合并连接(sort merge join)的原理

排序合并连接(sort merge join)的原理
 
 
排序合并连接(sort merge join)
 
    访问次数:两张表都只会访问0次或1次。
    驱动表是否有顺序:无。
    是否要排序:是。
    应用场景:当结果集已经排过序。
 
排序合并连接原理:如果A表的数据为(2,1,4,5,2),B表的数据为(2,2,1,3,1) ,首先将A表和B表全扫描后排序,如下:
 
              A    B
 
              1     1
 
              2     1
 
              2     2
 
              4     2
 
              5     3
 
因为没有驱动表,所以数据库会随机选择一张表驱动,如果选择了A扫描到1,然后扫描B,当扫描=1的时候则匹配
当扫描到B=2时,再以B=2为驱动扫描A表,不是从1开始扫,而是从2开始扫描,交替的进行扫描、关联。
排序合并连接(sort merge join)的原理
 
This works because both relations are sorted and therefore you don’t need to “go back” in these relations.
也就是说:不是从1重新开始扫,而是从2开始扫描
 
 
 
上一篇:Python学习——1


下一篇:洛谷 P1486 [NOI2004]郁闷的出纳员【Treap】题解+AC代码