理解为何InnoDB引擎选择B +树形式的索引数据结构

105 阅读1分钟

综述:

索引数据结构的进化但是奔着一个目标去的,追求更高的效率,只有矮壮型的数据结构才能满足,更少的IO次数,更方便的范围查找,更稳定的数据结构,最终促使B+树应运而生

一张表概括所有:

image.png

这样的一个演变过程,虚线框内代表的是对应的数据结构的缺陷,这张图是我个人总结的,同学们可能该开始只能get到B+ 树的某一个方面的知识,并不能真正理解他,单学习是一个持之以恒,不断巩固的过程, 可以借助不同的形式和工具来学习巩固,比如画图总结的形式,形象化的动画来学习数据结构,比如这个用这个网址演示B+ 树www.cs.usfca.edu/~galles/vis…

演示效果

image.png

补充:

有人问那为啥不选用红黑树呢:红黑树本质上是二叉树的变种,没有摆脱一个节点存储一个数据的限制 毕竟B树和B+树都是多路搜索树,一个节点不止一个数据,B树的B代表balance 而不是binary