Mysql 索引为啥使用B+树?不用哈希或B树?红黑树?

Posted 二十六画生的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 索引为啥使用B+树?不用哈希或B树?红黑树?相关的知识,希望对你有一定的参考价值。

哈希索引:单个记录的增删改查效率高,时间复杂度是O(1);但对于范围查询需要全表扫描;

B树:

1 范围查询时效率比B+树低(B树的叶子结点缺少有序链表);

2 内部节点(非叶子结点)既存储数据也存储索引,需要的存储空间比B+树多(B+树的内部节点不存储数据,只存储索引)

红黑树:B树是多路树,红黑树是二叉树(红黑树一个节点只能存储一个值,B树一个节点可以存储多个值)红黑树的高度会更大,查找时红黑树的查找次数会更多(根据磁盘查找存取的次数往往由树的高度所决定)。

 为什么 MySQL 使用 B+ 树 - 面向信仰编程

平衡二叉树、B树、B+树、B*树 理解其中一种你就都明白了 - 知乎

B+树详解 | Ivanzz

数据库:为什么使用B+树而不使用红黑树_五山口老法师-CSDN博客_数据库为什么不用红黑树

以上是关于Mysql 索引为啥使用B+树?不用哈希或B树?红黑树?的主要内容,如果未能解决你的问题,请参考以下文章

索引是什么,索引的数据结构.B树,B+树

索引是什么,索引的数据结构.B树,B+树

索引是什么,索引的数据结构.B树,B+树

MySQL B+树索引和哈希索引的区别

MySQL B+树索引和哈希索引的区别

MySQL B+树索引和哈希索引的区别