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.表的主要内容,如果未能解决你的问题,请参考以下文章

Mysql的InnoDB引擎-4.表

《MySQL系列-InnoDB引擎26》表-InnoDB行记录格式

MYSQL存储引擎InnoDB(三十五):临时表空间

MySQL技术内幕:InnoDB存储引擎的目录

mysql innodb引擎的表怎么分表

《MySQL系列-InnoDB引擎23》文件-InnoDB存储引擎文件-表空间文件