InnoDB存储结构主要包括两部分:逻辑存储结构和物理存储结构。

逻辑上是由表空间tablespace —> 段segment或者inode —> 区Extent ——>数据页Page构成,Innodb逻辑管理单位是segment,空间分配的最小单位是extent,每个segment都会从表空间FREE_PAGE中分配32个page,当这32个page不够用时,会按照以下原则进行扩展:如果当前小于1个extent,则扩展到1个extent;当表空间小于32MB时,每次扩展一个extent;表空间大于32MB,每次扩展4个extent。
物理上主要由系统用户数据文件,日志文件组成;
数据文件主要存储MySQL字典数据和用户数据,日志文件记录的是data page的变更记录,用于MySQL Crash时的恢复。
【参考文章】
https://mp.weixin.qq.com/s/2imwYkU8bCLXSno4lZ6n1w
以下为个人公众号,欢迎扫码关注:

本文解析InnoDB存储结构,涉及逻辑上的tablespace-segment-extent-page层次,以及物理上的数据文件和日志文件。讲解了空间分配策略和MySQL数据恢复机制。

388

被折叠的 条评论
为什么被折叠?



