MYSQL中行记录格式的一些说明

MYSQL中,行记录的存储结构一般包括四部分:

  • 变长字段长度列表
  • NULL值字段列表
  • 记录头信息
  • 记录的真实信息

变长字段长度列表是由多组两个字节组成的,因为MYSQL中规定行记录的最多占据的空间是65535个字节,所以使用两个字节的空间(0~2^16-1)就可以表示出某个变长字段使用空间的真实长度。

NULL值字段列表是由多个单字节组成的,之所以使用一个字节,而不是一个比特位表示某个字段是否为NULL,是由于当存储某列是否为NULL时,使用一个字节来表示具有更好的内存对齐,这对于处理和访问数据更加高效。如果使用一个比特位来表示是否为NULL,它可能需要额外的处理来将这些位打包成字节,这可能会导致更复杂的数据访问和处理过程,从而影响性能。

记录头信息每个行记录都只有一份,占据五个字节,用来存储该行记录是否被删除、下条记录偏移量等信息,需要下条记录偏移量是因为每条行记录占据的内存大小可能不一致,具体可看尚硅谷康师傅的MYSQL高级篇讲解:MYSQL高级篇

posted @ 2023-10-27 16:26  rockdow  阅读(37)  评论(0)    收藏  举报