B树和B+树都是多叉树,是改变二叉树结构的高度较大进行优化的(树的高度较大不适合存储海量数据);但两者之间也有不同,Mysql选择B+树作为存储的数据结构。
B树的结构
B+树的结构
两者的区别
- B+树只有叶子节点存放数据,根节点无数据(只有)指向指针(占用6 byte),这样的好处是在高度相等的树结构中,可以存放更多的数据。
- B+树在叶子节点之间增加了双向链表指针,对于范围查询,有更高的效率。
B树和B+树都是多叉树,是改变二叉树结构的高度较大进行优化的(树的高度较大不适合存储海量数据);但两者之间也有不同,Mysql选择B+树作为存储的数据结构。