MySQL索引为什么用B+树不用B树

1.B树只适合随机检索,B+树支持随机检索和顺序检索

2.B+树空间利用率高,可以减少IO次数,磁盘读写代价更低。
一般来说索引本身也很大,往往以索引文件的形式存储在磁盘上,这样索引查找过程就要产生磁盘IO消耗。B+树的内部节点只作为索引使用,其内部节点(非叶子节点)比B树更小,判断能容纳的节点中关键字更多,一次读取到的键更多。

3.B+树查询效率更稳定,因为数据存放在叶子节点。

4.B树在一定程度上也提高了磁盘IO性能,但没有解决遍历效率低下的问题。B+树的叶子节点都使用指针顺序连接在一起,只要遍历叶子节点就可以实现所有值。

5.增删文件时,B树需要重新调整树结构。B+树不需要调整树结构,因此B+树效率更高。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐