跳至正文
Line's Blog
Line's Blog
  • 首页
  • 关于
  • 归档
  • 相册
  • 首页
  • 关于
  • 归档
  • 相册
关

搜索

  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
Subscribe
MySQL

002-为什么MySQL选择使用B+树作为索引结构?

头像
作者 Line
2026年6月1日 1 分钟阅读
0

核心原因是磁盘I0次数最少。数据库的数据存在磁盘上,磁盘随机读写比内存慢10万倍,所以索引结构的设计目标就是尽量减少磁盘访问次数。


B+树能做到这一点靠三个特性:
1)树矮。B+树是多叉树,一个节点能存几百上千个key。3层的B+树就能存两千多万条数据,查任何一条最多3次磁盘IO。红黑树是二叉树,存同样的数据量要二十多层,I0次数直接爆炸。


2)非叶子节点只存key 和指针,不存数据。一个16KB的页能塞进更多索引项,内存里能缓存更多索引,命中率高,磁盘访问少。


3)叶子节点用双向链表串起来。范围查询时,定位到起点后顺着链表往后扫就行,不用再回根节点重新查找,顺序I0比随机I0快太多。

头像
作者

Line

关注我
其他文章
上一个

001-MySQL的索引类型有哪些?

下一个

003-MySQL索引的最左前缀匹配原则

暂无评论!成为第一个。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

近期文章

  • 公寓租赁平台
  • 001-Spring Boot是如何实现自动配置的?
  • 005-MySQL 并发事务中会出现的三大问题
  • 004-MySQLInnoDB引擎中的聚簇索引和非聚簇索引有什么区别?
  • 003-MySQL索引的最左前缀匹配原则

归档

  • 2026 年 6 月
  • 2026 年 5 月

分类

  • Java
  • Linux
  • MySQL
  • Spring Boot
  • 生活
  • 项目

网站信息

  • 0
  • 3
  • 1
  • 101
  • 6
Copyright © 2026 Line - Powered by WordPress
粤ICP备2026067359号