索引是提升数据的查询效率的一种数据结构,他的底层是B+树结构,现在我们来了解一下B+树的底层数据结构是什么样的,如图:
B树是一种多叉路衡查找树,相对于二叉树,B树每个节点可以有多个分 支,即多叉,树的顶层叫子节点,子节点以下叫分支节点,用绿色框起来的部分叫索引,不用于存储数据,红色框起来是数据的存储部分,也是B+树的叶子节点。
B+树有以下特点:1.所有数据都会出现在叶子节点
2.叶子节点会形成一个单链表
3.非叶子节点仅仅起到查询数据的作用,不用存储数据
以上是标准的B+树结构,单在数据库索引中,出现了一些优化,如图:
Mysql数据库索引中在相邻的叶子节点中增加了一个双向链表,就形成了带有顺序指针的B+Tree,提高了排序效率。