Mysql的InnoDB引擎-4.表
Posted 名字可以起这么长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql的InnoDB引擎-4.表相关的知识,希望对你有一定的参考价值。
InnoDB存储引擎中,表都是根据主键进行顺序存放的,这种存放方式的表叫做索引组织表。
InnoDB逻辑存储结构
InnoDB从逻辑结构存储角度,从大的维度到小的维度依次为:表空间、段(segment)、区(extent)、页(page)。
表空间
InnoDB最顶层的逻辑结构,所有数据都存放在表空间中。
innodb_file_per_table参数,可以设置每张表内的数据存放到单独的一个表空间中。但是存放的只是数据,索引以及插入缓冲bitmap页。其他类型的数据,回滚信息,插入缓冲索引页,系统事务信息,二次写缓冲等还是存放在共享表空间中。
段
常见的段有数据段、索引段、回滚段等。数据段为B+树的叶子节点,索引段为B+树的非索引节点,
区
区是由连续页组成的空间,为了保证区中页的连续性,InnoDB存储引擎一次从磁盘申请4~5个区。
页
InnoDB磁盘管理的最小单位,默认每个页大小为16KB。
InnoDB存储引擎中常见的页类型有:
- 数据页(B-tree Node)
- undo页(undo Log Page)
- 系统页(System Page)
- 事务数据页(Transaction system Page)
- 插入缓冲位图页(Insert Buffer Bitmap)
- 插入缓冲空闲列表页(Insert Buffer Free List)
- 未压缩的二进制大对象页(Uncompressed BLOB Page)
- 压缩的二进制大对象页(compressed BLOB page)
行
InnoDB是面向列的,也就是说数据是按行进行存放的。
以上是关于Mysql的InnoDB引擎-4.表的主要内容,如果未能解决你的问题,请参考以下文章