开篇:MySQL 数据是怎么存在磁盘上的?
你可能以为,一条 INSERT 语句执行后,数据就像写文本文件一样一行行追加到磁盘里。实际上,InnoDB 的存储远比这复杂——它有一套精心设计的层级结构,就像俄罗斯套娃一样层层嵌套。
理解这套结构,能帮你回答很多实战问题:为什么一页是 16KB?为什么自增主键比 UUID 快?Buffer Pool 到底缓存了什么?碎片是怎么来的?
一、InnoDB 的存储层次(表空间→段→区→页→行)
InnoDB 的数据在磁盘上按照 表空间 → 段 → 区 → 页 → 行 五个层次组织。就像套娃一样,每个层次都包含下一个层次。
大约 13 分钟