【面经】讲一下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 小时前
事务03之MVCC机制
数据库·mysql·事务·
LUCIAZZZ6 小时前
简单的SQL语句的快速复习
java·数据库·sql
Elastic 中国社区官方博客8 小时前
使用真实 Elasticsearch 进行高级集成测试
大数据·数据库·elasticsearch·搜索引擎·全文检索·jenkins·集成测试
@_@哆啦A梦8 小时前
Redis 基础命令
java·数据库·redis
fajianchen8 小时前
MySQL 索引存储结构
数据库·mysql
想做富婆9 小时前
oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]
数据库·oracle·联合查询
xianwu54310 小时前
反向代理模块jmh
开发语言·网络·数据库·c++·mysql
Leven19952710 小时前
Flink (十三) :Table API 与 DataStream API 的转换 (一)
数据库·sql·flink
geovindu11 小时前
neo4j-community-5.26.0 create new database
数据库·mysql·neo4j
MyY_DO11 小时前
maven mysql jdk nvm node npm 环境安装
java·mysql·maven