B-Tree(B树)
B树属于多叉树又名平衡多路查找树(查找路径不只两个),数据库索引技术里大量使用者B树和B+树的数据结构
如果数据库索引用红黑树的话,会导致读取磁盘次数过多,并且读取出来的数据也会浪费很多。例如一个结点能存一页,一页有16K数据
由于 B+ 树分支比二叉树更多,所以相同数量的内容,B+ 树的深度更浅,深度代表什么?代表磁盘 io 次数
m阶B树有如下特点(阶表示一个节点最多孩子节点的个数)
- 根节点至少有两个孩子节点
- 每个中间节点都包含
k-1
个元素和k
个孩子(m/2<=k<=m) - 所以叶子节点都在同一层
- 每一个叶子节点都包含
k-1
个元素(m/2<=k<=m) - 每个节点都存有索引和数据,也就是对应的key和value。