InnoDB 基本存储结构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012507347/article/details/51853062

InnoDB 基本存储结构

页是InnoDB访问的最小单位,区是InnoDB空间申请的最小单位

页的默认大小为16KB,页头保存,表空间ID,页在表空间中的偏移量,页最后刷入磁盘的LSN;页的最后也有一个LSN,若两个LSN一致则说明页的写入时完整的。

64个连续的页组成一个区,大小1MB。区描述符(extent descriptor)用来控制区中的页,其中每个页的状态占两位。一个extent descriptor 40个字节,一页保存256个区描述符,所以一个区区描述符所在页的偏移量都是16384(256*64)

段由来保存特定的数据。InnoDB有B+树索引的方式组成,在这个设计中每个索引至少有两个段,叶子节点段,非叶子节点段。每张表可以有多个索引,所以也有很多的段。

每个段可以保存32个碎片页和若干个区。段会先使用碎片页,当一个表中的数据很少时,不会申请区,这样可以减少浪费空间。

segment inode 保存段的信息,放在inode页中,由于 inode页 的位置不确定,segment header 保存表空间中 inode页的位置。

表空间

表空间是一个逻辑概念,由页区段组成。表空间的space header保存了页区段的状态,管理和分配区。

猜你喜欢

转载自blog.csdn.net/u012507347/article/details/51853062