共計 480 個字符,預(yù)計需要花費 2 分鐘才能閱讀完成。
這篇文章主要介紹如何解決 MySQL8.0.18 Hash Join 不支持 left/right join 左右連接問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在 MySQL 8.0.18 中,增加了 Hash Join 新功能,它適用于未創(chuàng)建索引的字段,做等值關(guān)聯(lián)查詢。在之前的版本里,如果連接的字段沒有創(chuàng)建索引,查詢速度會是非常慢的,優(yōu)化器會采用 BNL(塊嵌套)算法。
Hash Join 算法是把一張小表數(shù)據(jù)存儲到內(nèi)存中的哈希表里,并逐行去匹配大表中的數(shù)據(jù),計算哈希值并把符合條件的數(shù)據(jù),從內(nèi)存中返回客戶端。
用 sysbench 生成 4 張表,并刪除默認的 k 字段索引。
我們用 explain format=tree 命令可以查看到已經(jīng)使用到 hash join 算法。
但目前 8.0.18 版本,僅支持 join。left join 和 right join 失效,這里請注意。
以上是“如何解決 MySQL8.0.18 Hash Join 不支持 left/right join 左右連接問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!