MySQL索引为什么用B+树不用B树
1.B树只适合随机检索,B+树支持随机检索和顺序检索
2.B+树空间利用率高,可以减少IO次数,磁盘读写代价更低。
一般来说索引本身也很大,往往以索引文件的形式存储在磁盘上,这样索引查找过程就要产生磁盘IO消耗。B+树的内部节点只作为索引使用,其内部节点(非叶子节点)比B树更小,判断能容纳的节点中关键字更多,一次读取到的键更多。
3.B+树查询效率更稳定,因为数据存放在叶子节点。
4.B树在一定程度上也提高了磁盘IO性能,但没有解决遍历效率低下的问题。B+树的叶子节点都使用指针顺序连接在一起,只要遍历叶子节点就可以实现所有值。
5.增删文件时,B树需要重新调整树结构。B+树不需要调整树结构,因此B+树效率更高。
本文详细解释了MySQL为何选用B+树而非B树作为索引结构的原因,包括B+树对随机和顺序检索的支持、更高的空间利用率、查询效率的稳定性和增删操作的效率优势。B+树通过叶子节点的指针实现数据的顺序遍历,且在磁盘IO性能和结构稳定性方面表现更优。
2926

被折叠的 条评论
为什么被折叠?



