《Mysql技术内幕 innodb存储引擎》——4.3节InnoDb行记录格式 compact格式问题修正

Compact行记录的格式
这里写图片描述
-变长字段长度列表:如果列的长度小于255字节,用1字节表示;如果大于255个字节,用2字节表示
-NULL标志位:表明该行数据是否有NULL值。占一个字节。(错误)
-记录头信息:固定占用5字节,每位的含义见下表:

这里修正原文关于NULL标志位长度的描述:
NULL标志位长度:celling(Column max index that can be null/8)

记录头的可变长度部分包含用于指示NULL列的位向量。 如果索引中可以为NULL的列数为N,则位向量占用CEILING(N / 8)个字节。 (例如,如果有9到16列可以为NULL,则位向量使用两个字节。)NULL列不占用此向量中的位以外的空间。 标题的可变长度部分还包含可变长度列的长度。 每个长度需要一个或两个字节,具体取决于列的最大长度。 如果索引中的所有列都是非NULL并且具有固定长度,则记录头没有可变长度部分
文档地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值