mysql数据页概念
数据页(Data Page)是MySQL InnoDB存储引擎管理存储空间的基本单位,也是磁盘与内存之间进行数据交换的最小单位。
(针对是是InnoDB引擎而言)
为什么是页?
-
减少I/O次数:磁盘I/O是数据库性能的主要瓶颈。一次读取一页(包含多行数据),比多次读取单行要高效得多。
- 便于缓存管理:MySQL的内存缓冲区(Buffer Pool)就是按“页”来缓存数据的。将磁盘中的“页”加载到内存,能极大加速后续的查询。
数据页的内部结构
一个默认大小为16KB的数据页,内部结构精巧,主要分为七个部分。

当页内空闲空间用尽,再插入新记录时,就会发生页分裂(Page Split),生成新的数据页来容纳数据
页的类型
-
数据/索引页 (FIL_PAGE_INDEX):最常见的类型,用于存储表中实际的数据行和索引条目。
-
Undo页 (FIL_PAGE_UNDO_LOG):存储Undo日志,用于支持事务的回滚和多版本并发控制(MVCC)。
-
系统页 (FIL_PAGE_TYPE_SYS):存储InnoDB的系统级数据。
- BLOB页 (FIL_PAGE_TYPE_BLOB):当行中的大字段(如TEXT、BLOB)数据过长时,用于存储溢出部分的数据。

浙公网安备 33010602011771号