MySQL · 专家投稿 · InnoDB物理行中null值的存储的推断与验证

原文链接

 

前提:

变长字段之后的第二个部分是NULL标志位,该位指示了该行数据中是否有NULL值,有则用1表示。该部分所占字节为1字节—–《InnoDB存储引擎》

 

之后便思考是否不管有多少个列都是NULL,该部分都只占1个字节呢?

结论:

允许null的字段需要额外的空间来保存字段Null到null标志位映射的对应关系,所以保存这个映射关系的null标志位长度并不是固定的。也就是null字段越多并不是越省空间。实际生产环境中应尽量减少can be null的字段。

 

posted on 2018-02-28 16:03  linuxSu  阅读(244)  评论(0编辑  收藏  举报

导航