乐趣区

关于mysql:MySQL-表结构

表构造

本文总结自《MySQL 技术底细:InnoDB 存储引擎(第 2 版)》

索引组织表

InnoDB 存储引擎中,表都是依据主键程序组织寄存的,这种存储形式的表称为索引组织表(Index organized table)

InnoDB 存储引擎表中,每张表都有主键,如果创立表时没有显式定义主键,则会依照以下规定创立:

  1. 如果表中有非空惟一索引(Unique Not Null),咋设该列为主键
  2. 如果没有,则会主动创立 6 字节大小的指针
  3. 如果有多个非空惟一索引,则会抉择定义索引程序时的第一个

InnoDB 逻辑存储构造

表空间

表空间能够看做 InnoDB 存储引擎最高层,所有数据都寄存在表空间中,落到磁盘上即 ibdata 文件,能够通过 innodb_file_per_table 参数设置每张表独自放到一个表空间内

表空间由各种段组成,如:数据段、索引段、回滚段等

因为 InnoDB 存储引擎表是索引组织的,因而 数据段 即为 B+ 树的叶子节点,索引段 为 B+ 树的非索引节点

区是由间断的页组成,任何状况下大小都为 1MB,默认状况下 InnoDB 存储引擎页大小为 16KB,一个区由 64 个间断的页组成

页是 InnoDB 磁盘治理的最小单位,默认状况下 InnoDB 存储引擎页大小为 16KB

用于寄存每一行数据

退出移动版