亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中如何進行nest loop且不考慮hash join

發布時間:2021-10-09 14:20:08 來源:億速云 閱讀:253 作者:柒染 欄目:MySQL數據庫

這期內容當中小編將會給大家帶來有關MySQL中如何進行nest loop且不考慮hash join,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

只考慮nest loop,不考慮hash join

條件如下:
a,b,c  where a.id=b.id and a.id=c.id  where a.name=’gaopeng’,b.name=’gaopeng’,c.name=’gaopeng’

假設a為驅動表,先連接b,再連接c ,且b,c表 id均有索引。
流程如下:

loop:
1、訪問驅動表a,過濾條件a.name='gaopeng',這個過程有索引用索引
   獲得第一條數據記做row_a1,這里可能會匹配出多行數據,需要循環
   loop:
     2、訪問被驅動表b,連接條件a.id=b.id 相當于條件b.id = row_a1.id
        這個過程b.id 有索引用索引,得到連接后的數據 a.\*+b.\*,這里可能
        會匹配出多行數據,需要循環
     3、每行數據,施加過濾條件b.name='gaopeng',假設 得到第一條數據記做row_b1
        loop:
           4、訪問被驅動表c,連接條件a.id=c.id 相當于條件c.id = row_b1.id
              這個過程c.id 有索引用索引,得到連接后的數據 a.\*+b.\*+c.\*,這里可能
              會匹配出多行數據,需要循環
           5、每行數據,施加過濾條件c.name='gaopeng',假設 得到第一條數據記做row_c1

這里row_c1就是最終的第一條數據。其實就是3層嵌套循環的意思。

后面使用debug進行驗證。。

被驅動表全表掃描會使用A Block Nested-Loop (BNL) 代替A simple nested-loop join (NLJ) ,使用join buffer , 第1步 會一次讀取多行數據 假設讀取了row_an行 ,第2步 條件相當于 b.id in (row_a1.id,row_a2.id…row_an.id)這樣只會一次全表掃描了。。不然每條全表掃描更慢,及使用

上述就是小編為大家分享的MySQL中如何進行nest loop且不考慮hash join了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

克什克腾旗| 临邑县| 会宁县| 简阳市| 麻阳| 罗平县| 康平县| 交城县| 和田县| 遂昌县| 惠水县| 剑阁县| 凤庆县| 商水县| 静乐县| 石柱| 普宁市| 铅山县| 广丰县| 斗六市| 肥东县| 古浪县| 阿拉善右旗| 鄂托克前旗| 汕尾市| 霍州市| 闵行区| 成都市| 黄大仙区| 四会市| 关岭| 阜新| 绍兴市| 东阿县| 正阳县| 托克托县| 如皋市| 福海县| 盈江县| 民和| 衢州市|