Mysql常见的几种算法
1.嵌套循环连接算法(Nested-Loop Join(NLJ))
2.基于索引的嵌套循环连接算法(Index Nested-Loop Join(INLJ))
3.基于块的嵌套循环连接算法...所以使用Inner join 时,排在前面的表并一定就是驱动表
当使用了left join,那么左表就是驱动表,右表作为被驱动表
当使用了right join,那么右表就是驱动表,左表为被驱动表
当使用了...基于索引的嵌套循环连接算法(Index Nested-Loop Join (INLJ)
索引嵌套循环连接算法是基于嵌套循环算法的改进版,其优化的思路,主要是为了减少了内层循环匹配次数,就是通过外层数据循环与内存索引数据进行匹配...t2中获取到的结果进行合并,将结果放入结果集
循环上三个步骤,直到无法满足条件,将结果集返回给客户端
特点:基于嵌套循环连接算法进行优化,虽然还是双层循环进行匹配数据,但是内层循环(被驱动表)是使用索引树的高度决定循环次数的...基于块的嵌套循环连接算法(Block Nested-Loop Join(BNL)
如果关联字段不是索引或者有一个字段不是索引,MySQL则会采用此算法,和NLJ不同的是,BNL算法会多加一个join_buffer