在MySQL 8.0.18中,增加了Hash Join新功能,它適用于未創(chuàng)建索引的字段,做等值關(guān)聯(lián)查詢。在之前的版本里,如果連接的字段沒有創(chuàng)建索引,查詢速度會(huì)是非常慢的,優(yōu)化器會(huì)采用BNL(塊嵌套)算法。
Hash Join算法是把一張小表數(shù)據(jù)存儲(chǔ)到內(nèi)存中的哈希表里,并逐行去匹配大表中的數(shù)據(jù),計(jì)算哈希值并把符合條件的數(shù)據(jù),從內(nèi)存中返回客戶端。
用sysbench生成4張表,并刪除默認(rèn)的k字段索引。
我們用explain format=tree
命令可以查看到已經(jīng)使用到hash join算法。
但目前8.0.18版本,僅支持join。left join和right join失效,這里請(qǐng)注意。
總結(jié)
以上所述是小編給大家介紹的MySQL 8.0.18 Hash Join不支持left/right join左右連接問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
您可能感興趣的文章:- mysql連接查詢(左連接,右連接,內(nèi)連接)
- SQL 四種連接-左外連接、右外連接、內(nèi)連接、全連接詳解
- MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實(shí)例教程
- mysql的左右內(nèi)連接用法實(shí)例
- 深入理解SQL的四種連接-左外連接、右外連接、內(nèi)連接、全連接
- sql 左連接和右連接的使用技巧(left join and right join)
- mysql 左連接、右連接和內(nèi)連接
- 三表左連接查詢的sql語(yǔ)句寫法
- SQL左連接和右連接原理及實(shí)例解析