luotuofeile 2020-04-16
InnoDB存储引擎中,表都是根据主键进行顺序存放的,这种存放方式的表叫做索引组织表。
InnoDB从逻辑结构存储角度,从大的维度到小的维度依次为:表空间、段(segment)、区(extent)、页(page)。
InnoDB最顶层的逻辑结构,所有数据都存放在表空间中。
innodb_file_per_table参数,可以设置每张表内的数据存放到单独的一个表空间中。但是存放的只是数据,索引以及插入缓冲bitmap页。其他类型的数据,回滚信息,插入缓冲索引页,系统事务信息,二次写缓冲等还是存放在共享表空间中。
常见的段有数据段、索引段、回滚段等。数据段为B+树的叶子节点,索引段为B+树的非索引节点,
区是由连续页组成的空间,为了保证区中页的连续性,InnoDB存储引擎一次从磁盘申请4~5个区。
InnoDB磁盘管理的最小单位,默认每个页大小为16KB。
InnoDB存储引擎中常见的页类型有:
InnoDB是面向列的,也就是说数据是按行进行存放的。