标签:MySQL
标签:MySQL 结构
标签:MySQL data
MySQL data 物理存储:
1. slots ,page director
2. 数据链表
3. 索引堆,以及order 顺序
4. 定位文件,定位 page,定位记录的过程
5. 数据页中记录的定位过程
各个数据页可以组成一个双向链表,而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边儿的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录
6. page 页的内容
一个数据页可以被大致划分为 7个部分,分别是
File Header,表示页的一些通用信息,占固定的 38字节。(存储上页和下页的号码,组成一个链的形式)
Page Header,表示数据页专有的一些信息,占固定的 56个字节。(槽的数量,页中记录的总数量,除去删除的记录和最大最小值的数量 ......)
Infimum + Supremum,两个虚拟的伪记录,分别表示页中的最小和最大记录,占固定的 26个字节。
User Records:真实存储我们插入的记录的部分,大小不固定。
Free Space:页中尚未使用的部分,大小不确定。
Page Directory:页中的某些记录相对位置,也就是各个槽在页面中的地址偏移量,大小不固定,插入的记录越多,这个部分占用的空间越多。(记录槽中最后一个记录的地址)
File Trailer:用于检验页是否完整的部分,占用固定的 8个字节。(校验页的完整性)
