Bootstrap

mysql笔记(二)- InnoDB数据页结构

Innodb设计了不同类型的页结构,存放表空间头部信息的页、存放change buffer信息的页、存放inode信息的页、存放undo redo日志信息的页;今天我们了解存放记录信息的页(数据页也叫索引页)

数据页页结构总览

请添加图片描述

名称 描述
filer header 页的一些通用信息
page header 数据页专有的一些信息
infimum + supremum 两个虚拟的记录
user records 用户存储的记录内容
free space 页中尚未使用的空间
page directory 页中某些记录的相对位置
file tailer 校验也是否完整

记录在页中怎么存储的

请添加图片描述

记录的头信息

上节已经介绍过记录的头信息结构了,我们重点介绍一些各个结构的具体作用

deleted_flag

主要用来标示当前记录是否被删除。占用一个bit。0-代表未删除;1-代表已删除。
要注意的一点是,打上标记的记录并不会真正被删除,而是加入到垃圾链表,等到下次有相同位置的数据插入就可以复用,而且还能避免删除记录造成的数据页重新排列(消耗性能)

min_rec_flag

B+数每层非叶子结点中最小的目录项记录都会添加该标示

n_owned

一个页面中的记录会被分成很多组(利用分组二分法加快页中的记录查找,不用从

;