美文网首页
MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和

MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和

作者: 董董呀 | 来源:发表于2024-02-29 09:12 被阅读0次

什么是B+树

什么是B树

对比

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

1.B+树非叶子节点不存储数据记录,可以存储更多的key,树的层级相对矮一些;B树非叶子节点存储数据记录数据,单个节点存储的key 相对较少,树的层级想多高一些。对于查询,B树消耗更多I/O资源
2.B+树叶子节点之间采用链表,可以更好的支持范围查询和排序。B树需要递归整棵树

B树与B+树比较

B+树层级更少,查找更快
B+树查询速度稳定:由于B+树所有数据都存储在叶子节点,所以查询任意数据的次数都是树的高度h
B+树有利于范围查找
B+树全节点遍历更快:所有叶子节点构成链表,全节点扫描,只需遍历这个链表即可
B树优点:如果在B树中查找的数据离根节点近,由于B树节点中保存有数据,那么这时查询速度比B+树快。

索引为什么不用红黑树

红黑树的层级更深,查询I/O更多

索引为什么不用哈希

哈希对于查询单个节点比较快,不适合范围查询和排序

相关文章

  • Mysql InnoDB B+树索引和哈希索引的区别?Mongo

    Mysql InnoDB B+树索引和哈希索引的区别?MongoDB 为什么使用B-树?

  • MYSQL的索引与B+Tree

    MySQL 索引与 B+ 树 B+ 树 MySQL Innodb 存储引擎是使用 B+ 树来组织索引的。在介绍 B...

  • 聊一聊B+树

    标签: 图解B+树 | B+树代码|mysql 聚集索引|mysql B+树索引| 前言   虽然B+是B-演化过...

  • MySQL数据库索引选择使用B+树

    为什么MySQL数据库索引选择使用B+树? 在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小...

  • MySQL用B+树(而不是B树)做索引的原因

    众所周知,MySQL的索引使用了B+树的数据结构。那么为什么不用B树呢?先看一下B树和B+树的区别。 1.B树 维...

  • 索引的作用,优缺点

    mysql : 使用B+树建立索引。 索引的优缺点:

  • 索引相关

    1.MySQL中使用较多的索引有Hash索引,B+树索引2.InnoDB默认索引实现为:B+树 hash索引 1....

  • InnoDB-索引

    四、索引 mysql支持的常见索引:B+,全文、hash 1.B+树索引 B+树索引可以分为聚簇索引和非聚簇索引。...

  • MySQL 中创建索引的语句和 explain

    MySQL 中创建索引的语句和 explain 索引为什么使用B+树,而不是B树 存储方式 数据库中是按照块进行存...

  • mysql-随笔

    为什么mysql的索引使用B+树而不是B树呢??(1)B+树更适合外部存储(一般指磁盘存储),由于内节点(非叶子节...

网友评论

      本文标题:MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和

      本文链接:https://www.haomeiwen.com/subject/ufdfzdtx.html