Mysql--InnoDB记录存储结构

2019-04-30  本文已影响0人  简书徐小耳

具体细节 请去掘金购买《MySQL 是怎样运行的:从根儿上理解 MySQL》

InnoDB页简介

InnoDB行格式

指定行格式的语法

mysql> CREATE TABLE record_format_demo (
    ->     c1 VARCHAR(10),
    ->     c2 VARCHAR(10) NOT NULL,
    ->     c3 CHAR(10),
    ->     c4 VARCHAR(10)
    -> ) CHARSET=ascii ROW_FORMAT=`COMPACT`;
Query OK, 0 rows affected (0.03 sec)

COMPACT行格式

变长字段长度列表

NULL值列表

记录头信息

记录的真实数据

CHAR(M)列的存储格式

注意了在Compact行格式下,Mysql的列有变长类型,同时对列的编码字符集也有动态的,只有是定长类型的列并且也采用定长类型的编码列,占用分配空间大小才固定。

Redundant行格式

字段长度偏移列表

记录头信息

Redundant行格式中NULL值的处理

CHAR(M)列的存储格式

行溢出数据

行溢出的临界点

Dynamic(5.7默认)和Compressed行格式

上一篇 下一篇

猜你喜欢

热点阅读