以一颗最大度数为 4 的 B+Tree 为例(每个节点最多存储 3 个key,4 个指针):
接下来我们来动态演示一下插入过程 :
插入1000、567、232、234、890、1234、2345数据为例
视频可以参考以下这个视频:
相对于 Btree 区别:
1.所有的数据都会出现在叶子节点
2.叶子节点形成一个单向链表
MySQL索引数据结构对经典的 B+Tree 进行了优化。在原 B+Tree 的基础上,增加一个指向相邻叶子节点的链表指针,就形成了带有顺序指针的 B+Tree ,提高区间访问的性能。
关于 Btree 的索引结构以及 B+Tree 的索引结构就到此结束啦,下期我们来学习 Hash 索引结构,欢迎大家来学习交流!