MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • InnoDB行格式
    • 指定行格式的语法
        • ROW_FORMAT=COMPACT
    • MySQL8的默认行格式----==dynamic==
        • SHOW TABLE STATUS like '表名'\G
  • COMPACT行格式
    • 1. 变长字段长度列表
    • 2. NULL值列表
    • 3. 记录头信息
      • 3.1 delete_mask
      • 3.2 min_rec_mask
      • 3.3 record_type
      • 3.4 heap_no
      • 3.5 n_owned
      • 3.6 next_record
        • 演示:删除操作
        • 演示:添加操作
    • 4. 记录的真实数据
  • Dynamic和Compressed行格式
    • 行溢出
    • Dynamic和Compressed行格式
  • Redundant行格式
    • 字段长度偏移列表
    • 记录头信息(record header)


InnoDB行格式

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第1张图片

  • COMPACT行格式
  • Dynamic和Compressed行格式
  • Redundant行格式

指定行格式的语法

ROW_FORMAT=COMPACT

mysql> CREATE TABLE record_test_table (
    col1 VARCHAR(8),
    col2 VARCHAR(8) NOT NULL,
    col3 CHAR(8),
    col4 VARCHAR(8)
 ) CHARSET=ascii ROW_FORMAT=COMPACT;

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第2张图片

MySQL8的默认行格式----dynamic

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第3张图片

SHOW TABLE STATUS like ‘表名’\G

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第4张图片

COMPACT行格式

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第5张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第6张图片

1. 变长字段长度列表

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第7张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第8张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第9张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第10张图片

2. NULL值列表

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第11张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第12张图片

3. 记录头信息

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第13张图片 MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第14张图片 MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第15张图片 MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第16张图片 MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第17张图片 MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第18张图片

3.1 delete_mask

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第19张图片

3.2 min_rec_mask

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第20张图片

3.3 record_type

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第21张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第22张图片

3.4 heap_no

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第23张图片

3.5 n_owned

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第24张图片

3.6 next_record

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第25张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第26张图片

演示:删除操作

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第27张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第28张图片

演示:添加操作

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第29张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第30张图片

4. 记录的真实数据

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第31张图片

Dynamic和Compressed行格式

行溢出

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第32张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第33张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第34张图片

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第35张图片

Dynamic和Compressed行格式

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第36张图片

Redundant行格式

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第37张图片

字段长度偏移列表

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第38张图片
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第39张图片

记录头信息(record header)

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)_第40张图片
在这里插入图片描述

你可能感兴趣的:(Mysql高级,mysql,数据库,database)