MySQL索引为什么选择B+树,而不是二叉树、红黑树、B树?

12.1.为什么没有选择二叉树?


二叉树是一种二分查找树,有很好的查找性能,相当于二分查找。
二叉树的非叶子节值大于左边子节点、小于右边子节点。
原因:
但是当N比较大的时候,树的深度比较高。数据查询的时间主要依赖于磁盘IO的次数,二叉树深度越大,查找的次数越多,性能越差。
最坏的情况是退化成了链表。

12.2.为什么没有选择红黑树?


红黑树相比于二叉树,它做了进一步的优化,它是一种自适应的平衡树,会根据插入的节点数量以及节点信息,自动调整树结果来维持平衡。
原因:
红黑树查找结尾的元素的时候,树的高度越高,增删改查所需要的IO次数也越多,会严重影响性能(相当于做了全表扫描)。

12.3.为什么没有选择B树?


B树和红黑树相比,其单节点可容纳多个数量,就能在很大程度上改善其性能,使B树的树高远远小于红黑树的高度。
原因&#

相关推荐

  1. 为什么MySQL使用B+跳表

    2024-04-25 00:40:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-25 00:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-25 00:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-25 00:40:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-25 00:40:02       20 阅读

热门阅读

  1. Android判断应用是否在前台运行

    2024-04-25 00:40:02       12 阅读
  2. 2024/4/24总结

    2024-04-25 00:40:02       14 阅读
  3. 手撕代码: C++实现数据的序列化和反序列化

    2024-04-25 00:40:02       14 阅读
  4. webpack的简单使用

    2024-04-25 00:40:02       16 阅读
  5. 前端Vue3之基础知识点碎片

    2024-04-25 00:40:02       11 阅读
  6. 内置函数部分

    2024-04-25 00:40:02       13 阅读