B数和B+数的区别,Mysql为什么使用B+数据结构

B树和B+树都是多叉树,是改变二叉树结构的高度较大进行优化的(树的高度较大不适合存储海量数据);但两者之间也有不同,Mysql选择B+树作为存储的数据结构。

B树的结构

B数和B+数的区别,Mysql为什么使用B+数据结构_第1张图片

B+树的结构

B数和B+数的区别,Mysql为什么使用B+数据结构_第2张图片

两者的区别

  1. B+树只有叶子节点存放数据,根节点无数据(只有)指向指针(占用6 byte),这样的好处是在高度相等的树结构中,可以存放更多的数据。
  2. B+树在叶子节点之间增加了双向链表指针,对于范围查询,有更高的效率。

你可能感兴趣的:(数据库)