一个表就是一个ibd文件
.ibd文件大小取决于数据和索引,在5.7之后才会为每个表生成一个独立表空间即一个ibd文件,在此之前,所有表默认下都会存储在“系统表空间”(共享表空间),所有表都在一个ibd文件。
innodb的ibd磁盘结构
五类表空间
页
innodb和磁盘交互的最小的单位就是:页。
在ibd的页内部地址连续,16kb大小。
数据行存储一行数据,mysql就是行式数据库,就是基于此
区
通常用区来申请空间,而不是页
为了保证bufferpool缓存的命中率,连续的64页,分为一个1MB的区,这样如果合适的话,会将1MB的64页直接全部读入bufferpool,从而减少磁头移动。
初始创建一个.ibd文件时,只会创建6个页(四个页记录表信息,2个页空闲)而不是一个区,这六个页会放在表空间(.ibd文件)的碎片区,当碎片区到了32个页以后,会一个区,一个区来创建页。
区组:区多了,管理区
段:逻辑概念,对应于b+树的节点类型
分为非叶子节点段(非叶子节点)和叶子节点段(叶子节点)。