Mysql join 算法原理
Posted MISAYAONE
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql join 算法原理相关的知识,希望对你有一定的参考价值。
数据库基础(七)Mysql Join算法原理 - 知乎 (zhihu.com) 讲解较细
join算法分析 - 91洲际哥 - 博客园 (cnblogs.com) 比较全
(262条消息) MySQL 查询优化之 Block Nested-Loop 与 Batched Key Access Joins_风中清淡-CSDN博客
Simple nested loop join
两张表都没有索引,直接硬扫
Index nested loop join
有一张表是主键索引,直接利用主键进行匹配,时间限制在于主键索引树的高度
block nested loop join
两张表都没有索引,但是申请了一块join_buffer内存,存储一批需要join的key,与另一张表进行join,减少了一张表的扫表次数
batch access key join
一张表虽然有索引,但是是二级索引,同样使用了join_buffer,将一批key传到join_buffer,调用MRR 接口,对key进行排序,回表从主键索引中取数据。由于读数据是顺序的磁盘IO,所以更快。
以上是关于Mysql join 算法原理的主要内容,如果未能解决你的问题,请参考以下文章
深入理解Oracle表:三大表连接方式详解之Hash Join的定义,原理,算法,成本,模式和位图...