APP下载

InnoDB表空间组成结构

2017-03-10刘进京

网络安全和信息化 2017年2期
关键词:一行行后置引擎

InnoDB的表空间分为共享表空间和独立表空间,对于前者来说,数据存放在名为“ibdata1”的文件中。对于后者来说,各数据表的数据分散存储后缀为“.idb”的不同文件中。在表空间文件中包含一行行的记录,记录是表空间的最小组成元素,这些记录保存在页(Page)当中。页包括Page header、一行行的记录、Page trailer等部分组成。InnoDB引擎在运作过程中,相应的表空间和InnoDB Buffer Pool是紧密相关的,硬盘中的表空间文件和内存中的缓存结构是很相似的,即均以页为单位来保存数据。页容量通常为16KB,在一页中会存储多行记录。64个页可以组成一个Extent,最多四个 Extent可以组成一个段(Segment)。

例如,对于InnoDB引擎的索引文件来说,一般由前置索引和后置索引组成,前者和后者都会消耗一个Extent。在初始阶段,在段中可能会分配一些页,之后会逐渐扩张到一个Extent。随后会逐步添加多个Extent。表空间文件由多个段组成,在其中包括前置索引、后置索引、RollBack信息等,因此,从组成结构上说,表空间文件实际上由众多的页组成的。针对表空间文件的操作,本质上是对页进行操作,例如,将多个页读取到缓存中,将页中缓存中写回表空间文件等。在MySQL数据库运转过程中,页的读写操作在频繁地进行。所以,表空间文件的损坏,也经常发生在此环节中。

猜你喜欢

一行行后置引擎
绕口令
新海珠,新引擎,新活力!
齐心战疫,我们在一起
非正交五轴联动数控机床后置处理算法开发
五轴机床分类运动学建模及后置处理验证
三生 三大引擎齐发力
夏晚
蓝谷: “涉蓝”新引擎
捕蝉
Review of Research on the Prevention of HPV Infection and Cervical Cancer