1. 索引b+tree树深度的计算方法:
掌握MySQL的B+Tree索引暨如何计算索引树高度 - 腾讯云开发者社区-腾讯云
2. 非常好玩的B+树,老外的想象力就是很好:
3. B+树与B树最重要的区别有两点:
B+树的叶子节点之间用指针连接在一起,但是B树没有;
非叶子节点只存储关键字,只相当于一个索引,B树的非也节点存储了表数据,非叶节点和叶节点数据的并集才是表完成的数据;
由于以上两点所带来的影响,B+树支持范围查找而B树不支持, 非叶子节点能存储更多的索引数据从而导致更少的IO次数;
4. 聚集索引和辅助索引
都是基于B+树; 但是聚集索引的B+Tree中的叶子节点存放的是整张表的行记录数据,辅助索引的B+Tree叶子节点存储的是主键;
InnoDB存储引擎会遍历辅助索引找到主键,然后再通过主键在聚集索引中找到完整的行记录数据;
5. B树的应用
待完善;
6. explain 介绍
【MySQL优化】——看懂explain_explain using where-CSDN博客
回表: mysql内部需要经过两次查询;
7. a>4 and b=5 and c=6
a>4使用了范围查询而且在前面, 在遍历b列时,导致B+树无法决定搜寻方向 从而索引失效;
联合索引: a, b, c. 先按a排序, 再按b排序, 再按c排序;