Innodb页简介
innodb存储引擎以页为单位与磁盘进行数据交换,每页16k,每次存取页的整倍数,这样做提高数据存取效率。每个逻辑页放的一个个记录。
Innodb行格式
以记录为单位向表中插入数据,记录在数据库存放的格式叫做行格式。innodb有各种行格式:Compact
、Redundant
、Dynamic
和Compressed
行格式。
指定行格式:
CREATE TABLE 表名 (列的信息) ROW_FORMAT=行格式名称
ALTER TABLE 表名 ROW_FORMAT=行格式名称
compact行格式
如图所示,分两个部分:记录额外信息,记录真实数据。
变长字段长度列表:记录各个变长的列存储的数据字节数。使用1或者2个字节记录列存储的字节长度,所以理论上一个列varchar(m),最多存储65535个字节,因为两个字节最多记录65535的长度,实际还是有差别的。到底使用1字节还是2字节记录长度,跟使用字符集编码,最多存储字符数有关。变长字段长度列表顺序与列的顺序相反。
NULL值列表:记录允许为NULL的各个列实际存储数据是否为null的标识位,1为null,