mysql B+树
你多努力一点,获得的打击就多一点。
概念:
B+树是B-树的变体,也是一种多路搜索树
与 B- 树的不同之处在于
1、所有关键字存储在叶子节点出现,内部节点(非叶子节点并不存储真正的 data);
2、为所有叶子结点增加了一个链指针;
因为内节点并不存储 data,所以一般B+树的叶节点和内节点大小不同,而B-树的每个节点大小一般是相同的,为一页。
根据空间局部性原理:如果一个存储器的某个位置被访问,那么将它附近的位置也会被访问。
B+树可以很好的利用局部性原理,若我们访问节点 key为 50,则 key 为 55、60、62 的节点将来也可能被访问,我们可以利用磁盘预读原理提前将这些数据读入内存,减少了磁盘 IO 的次数。
当然B+树也能够很好的完成范围查询。比如查询 key 值在 50-70 之间的节点。