排序合併連線(sort merge join)的原理

weixin_34162629發表於2015-08-23

排序合併連線(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開始掃描,交替的進行掃描、關聯。
 
This works because both relations are sorted and therefore you don’t need to “go back” in these relations.
也就是說:不是從1重新開始掃,而是從2開始掃描
 
 
 

相關文章