什么是InnoDB页
InnoDB
是一个将表中的数据存储到磁盘上的存储引擎。Innodb
将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB。也就是在一般情况下,一次最少从磁盘中读取16KB的内容到内存中,一次最少把内存中的16KB内容刷新到磁盘中。而操作系统1页的大小为4KB。
名称 | 中文名 | 占用空间大小 | 简单描述 |
---|---|---|---|
File Header |
文件头部 | 38 字节 |
页的一些通用信息 |
Page Header |
页面头部 | 56 字节 |
数据页专有的一些信息 |
Infimum + Supremum |
最小记录和最大记录 | 26 字节 |
两个虚拟的行记录 |
User Records |
用户记录 | 不确定 | 实际存储的行记录内容 |
Free Space |
空闲空间 | 不确定 | 页中尚未使用的空间 |
Page Directory |
页面目录 | 不确定 | 页中的某些记录的相对位置 |
File Trailer |
文件尾部 | 8 字节 |
校验页是否完整 |
Page Header(页面头部)
User Records
InnoDB行格式
InnoDB
存储引擎4种不同类型的行格式
,分别是Compact
、Redundant
、Dynamic
和Compressed
行格式。
COMPACT行格式
变长字段长度列表
MySQL
支持一些变长的数据类型,比如VARCHAR(M)
、VARBIN