理解 InnoDB 存储结构,先把它拆成两个层面:逻辑上怎么组织数据,物理上怎么落到磁盘页。
逻辑层面怎么看
常见可以从表空间、段、区、页、行这几个层级理解。表空间是更大的容器,页是 InnoDB 管理磁盘和缓存的基本单位,行数据最终就存放在页里。
为什么大家总提页
因为数据库不是按“读一行”去和磁盘交互,而是按页读取。索引查找、数据缓存、刷盘回写,很多关键动作都围绕页展开。
索引结构和存储有什么关系
InnoDB 的主键索引通常是 B+ 树,叶子节点直接存放整行数据;二级索引的叶子节点则保存索引列和主键值,再回到主键索引取完整记录。
一句话理解
InnoDB 不是“表里装很多行”这么简单,而是通过页和 B+ 树把数据组织成既适合磁盘又适合查询的结构。
正文完




