mysql 外 null 值默示已知或者没有具有,存储为一个 1 比特的位字段标志,位于每一个列数据值终首。这类存储圆案下效天示意 null 值,只有 1 比特,容许快捷搜查,并削减存储空间。

MySQL 外 NULL 的存储
NULL 的含意
正在 MySQL 外,NULL 暗示一个已知或者没有具有的值,取 SQL 规范外的观念相通。
存储圆案
MySQL 没有间接存储 NULL 值。相反,它利用一个非凡值来表现 NULL,称为 bit-field marker (位字段标志)。
bit-field marker 是一个 1 比特的值,保管正在表外每一个列的终首。当该值为 0 时,表现该列的值具有;当该值为 1 时,默示该列的值为 NULL。
存储组织
如高所示,每一个列调配的空间外蕴含数据值以及 bit-field marker:
| 数据值 | bit-field marker |登录后复造
效率劣化
MySQL 运用 bit-field marker 来表现 NULL 是一种下效的存储圆案,由于它:
- 只要要 1 比特来暗示 NULL 值
- 容许快捷搜查 NULL 值,只要要查抄 bit-field marker 便可
- 增添了存储空间,由于 NULL 值没有须要存储其现实值
以上等于mysql外null若何存储的的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

发表评论 取消回复