MYSQL5.0行记录COMPACT|当前看点

哔哩哔哩   2023-05-14 03:07:48


(相关资料图)

行记录分为:变长字段长度列表,NULL标志位,记录头信息,列数据

变长字段长度列表:逆序存储varchar,text等不定长数据类型的真实长度,当列长度小于255字节时用1字节表示,若大于255字节时用2字节表示【从这里可以看出边长字段长度列表规定varchar的最大长度是2的2字节也就是2的16次方=65536个字符】

NULL标志位:(也是逆序)标记了当前行数据哪些为NULL值,用bitmap表示【不记录非NULL约束的列】例:如果该标志位为06(00000110),则表示第2,3列的数据可以为NULL

记录头信息:由固定的5个字节组成。5个字节也就是40个二进制位,不同的位代表不同的含义

4.实际存储每个列的数据: