MySQL 8.0.18 Hash Join不支持left/right join左右连接
2019-11-04 00:00
2116 查看
在MySQL 8.0.18中,增加了Hash Join新功能,它适用于未创建索引的字段,做等值关联查询。在之前的版本里,如果连接的字段没有创建索引,查询速度会是非常慢的,优化器会采用BNL(块嵌套)算法。
Hash Join算法是把一张小表数据存储到内存中的哈希表里,并逐行去匹配大表中的数据,计算哈希值并把符合条件的数据,从内存中返回客户端。
用sysbench生成4张表,并删除默认的k字段索引。
我们用explain format=tree命令可以查看到已经使用到hash join算法。
但目前8.0.18版本,仅支持join。left join和right join失效,这里请注意。
相关文章推荐
- MySQL 8.0.18 Hash Join不支持left/right join左右连接
- mysql多表连接查询inner/left/right/full/cross join
- sql语句的内外左右连接(left join and right join)
- mysql的表连接(left|right)join
- sql LEFT JOIN RIGHT JOIN(左连接)(mysql)
- mysql 表连接(left/right/full join)时on 和 where的结果差异
- sql语句的内外左右连接(left join and right join)
- SQL中的left outer join,inner join,right outer join用法 (左右内连接)
- Mysql左连接left join on与右连接 right join on,内连接union区别
- MYSQL LEFT JOIN连接优化案例一则
- Oracle数据库之外连接和分组查询:left,right,full join 和表连接
- mysql left( right ) join使用on 与where 筛选的差异
- sql内连接,等值连接,左连接和右连接的使用技巧(inner join and left join and right join)
- mysql left( right ) join使用on 与where 筛选的差异
- 左右连接(left,right)及等值连接(inner)
- 区别交叉连接(cross jon) 内连接(inner join) 和外连接(left outer join,right outer join)
- 内连接<inner join>,左外连接<left outer join>,右外连接<right outer join>
- mysql left( right ) join使用on 与where 筛选的差异
- 多表连接(inner join/left join/right join)
- 史上最精炼的sql的多表连接查询: left join/ right join/inner join