1索引的定义
索引是帮助MySQL高效获取数据的排好序的数据结构;
2 索引的本质
就是拍好序的数据结构;
3.为啥b+tree这种数据结构做索引的效率比其他的数据结构(红黑树,二叉树,平衡二叉树,hash表)效率高
具体的比较可以参考我之前的文章
https://blog.csdn.net/li646495946/article/details/106018018
主要是有以下几个优点
B+树的优点:
1、B+树的层级更少。
相较于B树B+每个非叶子节点存储的关键字数更多,树的层级更少所以查询数据更快;
2、B+树查询速度更稳定。
B+所有关键字数据地址都存在叶子节点上,所以每次查找的次数都相同所以查询速度要比B树更稳定;
3、B+树天然具备排序功能。
B+树所有的叶子节点数据构成了一个有序链表,在查询大小区间的数据时候更方便,数据紧密性很高,缓存的命中率也会比B树高。
4、B+树全节点遍历更快。
B+树遍历整棵树只需要遍历所有的叶子节点即可,而不需要像B树一样需要对每一层进行遍历,这有利于数据库做全表扫描
4索引的作用
sql优化的可以提升sql执行的效率