B+树是什么?
4阶B+树
1.B+树是一种多路平衡搜索树。
2.非叶子节点只保存键值信息(即索引)和子节点的指针,数据记录保存在叶子节点中。
3.叶子节点数 == 非叶子节点数。
4.叶子节点实质为链表(递增排序),方便按顺序检索。
5.所有叶子节点都处于同一深度(借助于B+树特殊的插入删除算法 实现)。
6.B+树的java实现。
MySql为什么要用B+树?
和磁盘的读取原理 有关。简单来说,由于机械硬盘的物理结构,我们取数据时要尽量减少磁盘IO次数。在一个深度为4的B+树中,仅需3次磁盘IO即可拿到叶子节点的数据(根节点索引保存在内存中)。对于每个叶子节点数据,所需磁盘IO次数相同。
B+树是对机械硬盘特别设计的数据结构。但是在SSD时代已然有其存在价值。
本文仅为简单说明,如有勘误请及时指正。