关于B+树索引比B树更加少的IO的疑问
B+树所有的KEY都在叶子节点,B树的KEY除了叶子节点,非叶子节点也存在。
关于B+树比B树的一个优势很多论坛博客这么说的:
由于B+树的内部节点只存放键,不存放值,因此,一次读取,可以在内存页中获取更多的键,有利于更快地缩小查找范围。
或者:
B+-tree的内部结点并没有指向关键字具体信息的指针。因此其内部结点相对B 树更小。如果把所有同一内部结点的关键字存放在同一盘块中,那么盘块所能容纳的关键字数量也越多。
同样是一批数据,B树所有的节点都存放KEY,B+只有叶子节点存放,这不是非叶子节点属于多出来的空间嘛? 为什么B+树能容纳更多的key?