MySQL InnoDB 存储引擎详解

MySQL InnoDB 存储引擎详解 InnoDB 是 MySQL 8 默认的存储引擎,也是绝大多数业务系统使用的核心存储引擎。 前面介绍索引、事务、锁和死锁时,很多机制实际上都建立在 InnoDB 的内部结构之上。 例如: 为什么 InnoDB 的索引查询通常很快? 为什么主键设计会影响二级索引大小? 为什么更新数据不一定立即写入磁盘? Buffer Pool 到底有什么作用? Redo Log 为什么能够提高写入性能? InnoDB 为什么能够支持事务和崩溃恢复? 要理解这些问题,需要从 InnoDB 的存储结构开始。 1. InnoDB 是什么 MySQL 本身并不负责所有数据存储工作。 可以简单理解为: MySQL Server ↓ SQL 解析 / 优化 / 执行 ↓ Storage Engine ↓ InnoDB ↓ 数据文件 / 日志文件 存储引擎负责真正的数据存储和访问。 早期 MySQL 中存在多种存储引擎,例如: InnoDB MyISAM Memory Archive 现代 OLTP 系统中,InnoDB 是最重要的选择。 InnoDB 提供了关系型业务系统通常需要的核心能力: 事务 行级锁 MVCC 崩溃恢复...

2024年06月21日 · 5 min · Leanku