【面经】讲一下mysql的b+树

mysql的索引结构是b+树(一种自平衡的多路搜索树)

mysql的b+树的特点

  1. b+树使查询/插入/删除 操作都可以在o(log n)的时间复杂度内完成
  2. b+树的叶子结点之间通过指针互相连结,所以对范围查询和顺序访问也更加高效
  3. mysql的b+树只在叶子结点存储数据,而非叶子结点只保存键值或索引

b+树与b树的区别

  1. b树每个节点都存储数据;b+树只在叶子结点存储数据
  2. b树每个节点有多个子节点;b+树每个节点只有1个子节点
  3. b树叶子结点之间没有连接;b+树的叶子结点之间通过指针互相连结
  4. b树中关键字会同时出现在内部节点和叶子结点;b+树中关键字只会出现在叶子结点
  5. b树适合随机检索;b+树适合随机检索和顺序检索,磁盘读写代价更低,查询效率更稳定
相关推荐
星恒随风2 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下3 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck4 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
AllData公司负责人5 小时前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析
隔窗听雨眠5 小时前
MySQL进程卡死的定位思路与恢复实践
mysql·故障排查·数据库运维
2601_967987376 小时前
Sqlite参考手册
数据库·python·sqlite·api·教程
隔窗听雨眠6 小时前
Oracle日志体系分层结构与故障定位路径
数据库·oracle·故障排查
为思念酝酿的痛6 小时前
C语言操作MySQL
数据库·mysql
ShineWinsu7 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
星恒随风17 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql