MYSQL中行记录格式的一些说明
MYSQL中,行记录的存储结构一般包括四部分:
- 变长字段长度列表
- NULL值字段列表
- 记录头信息
- 记录的真实信息
变长字段长度列表是由多组两个字节组成的,因为MYSQL中规定行记录的最多占据的空间是65535个字节,所以使用两个字节的空间(0~2^16-1)就可以表示出某个变长字段使用空间的真实长度。
NULL值字段列表是由多个单字节组成的,之所以使用一个字节,而不是一个比特位表示某个字段是否为NULL,是由于当存储某列是否为NULL时,使用一个字节来表示具有更好的内存对齐,这对于处理和访问数据更加高效。如果使用一个比特位来表示是否为NULL,它可能需要额外的处理来将这些位打包成字节,这可能会导致更复杂的数据访问和处理过程,从而影响性能。
记录头信息每个行记录都只有一份,占据五个字节,用来存储该行记录是否被删除、下条记录偏移量等信息,需要下条记录偏移量是因为每条行记录占据的内存大小可能不一致,具体可看尚硅谷康师傅的MYSQL高级篇讲解:MYSQL高级篇
浙公网安备 33010602011771号