MySQL 8.0.18 Hash Join不支持left/right join左右連接

在MySQL 8.0.18中,增加了Hash Join新功能,它適用於未創建索引的字段,做等值關聯查詢。在之前的版本里,如果連接的字段沒有創建索引,查詢速度會是非常慢的,優化器會採用BNL(塊嵌套)算法。

Hash Join算法是把一張小表數據存儲到內存中的哈希表裏,並逐行去匹配大表中的數據,計算哈希值並把符合條件的數據,從內存中返回客戶端。

20150607145104787.png


用sysbench生成4張表,並刪除默認的k字段索引。

1.png

我們用explain format=tree命令可以查看到已經使用到hash join算法。


但目前8.0.18版本,僅支持join。left join和right join失效,這裏請注意。

2.png






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章