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

MySQL 8.0.18中,增加了Hash Join新功能,它适用于未创建索引的字段,做等值关联查询。在之前的版本里,如果连接的字段没有创建索引,查询速度会是非常慢的,优化器会采用BNL(块嵌套)算法。

Hash Join算法是把一张小表数据存储到内存中的哈希表里,并逐行去匹配大表中的数据,计算哈希值并把符合条件的数据,从内存中返回客户端。

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

用sysbench生成4张表,并删除默认的k字段索引。

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

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

但目前8.0.18版本,仅支持join。left join和right join失效,这里请注意。

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

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/45061c267fa46b079d3d903a9880b423.html