【面经】讲一下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+树适合随机检索和顺序检索,磁盘读写代价更低,查询效率更稳定
相关推荐
Python私教18 小时前
从表格到管理系统:别先写页面,先补齐权限、流程和审计
数据库·后端·架构
陈皮波比茶18 小时前
Redis学习
数据库·redis·学习
—Miss. Z—18 小时前
备份与恢复
数据库·oracle
ltl19 小时前
RocksDB Leveled Compaction:层级不变式与 CompactionPicker
数据库
ltl19 小时前
DuckDB 向量化与 Morsel-Driven Pipeline
数据库
NJCloud19 小时前
TiDB 集群部署与 MySQL 兼容性适配实战
linux·运维·数据库·mysql·tidb
喜欢打篮球的普通人19 小时前
LLVM Backend Lowering 从入门到实战:把 IR 变成机器码的完整链路
android·java·数据库
SomeOtherTime21 小时前
Postgresql触发器实现对表的日志审计
数据库·postgresql
这个DBA有点耶1 天前
Oracle 迁移金仓兼容性评估指南:5 大维度深度拆解
数据库·oracle·架构