InnoDB数据页结构
数据页包括七个部分:
文件头
- 文件头(38字节)FileHeader:表示页的信息。
- File Header 中有两个指针,分别指向上一个数据页和下一个数据页,连接起来的页相当于一个双向的链表。
- 链表的结构是让数据页之间不需要是物理上的连续的,而是逻辑上的连续。
页头
- 页头(56字节)PageHeader:表示页的状态信息。
最大最小记录
- 最大最小记录(26字节)lnfimun+Supremum:两个虚拟的伪记录,分别表示页中的最小记录和最大记录。
用户记录
- 用户记录(不确定)UserRecords:按照指定行格式存储的行记录内容。
空闲空间
- 空闲空间(不确定)FreeSpace:页中还没被使用的空间
页目录
- 页目录(不确定)PageDirectory:由多个槽组成的,一个槽对应着一个用户记录分组,槽相当于分组记录的索引。可以用二分查找的方法快速检索到记录在哪个分组
文件尾
- 文件尾(8字节)FileTrailer:校验页是否完整