为什么Mysql索引使用B+树?

1、B+树查询速度更稳定:B+所有关键字数据地址都存在叶子节点上,所以每次查找的次数都相同所以查询速度要比B树更稳定。(树高度扁平层级少,数据均在叶子节点上)

2、B+树天然具备排序功能:B+树所有的叶子节点数据构成了一个有序链表,在查询大小区间的数据时候更方便,数据紧密性很高,缓存的命中率也会比B树高。(B+树天然有序)

3、B+树全节点遍历更快:B+树遍历整棵树只需要遍历所有的叶子节点即可,而不需要像B树一样需要对每一层进行遍历,这有利于数据库做全表扫描。(每个叶子节点,均指向下一个叶子节点)

在数据插入时,需要维护B+树,推荐使用递增字段作为主键,否则会增加写入开销。

节点的度:一个节点拥有的子树数

叶子节点:度为0的节点

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注