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:
<code>| 数据值 | bit-field marker |</code>
效率优化
MySQL 使用 bit-field marker 来表示 NULL 是一种高效的存储方案,因为它:
- 只需要 1 比特来表示 NULL 值
- 允许快速检查 NULL 值,只需要检查 bit-field marker 即可
- 减少了存储空间,因为 NULL 值不需要存储其实际值
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » mysql中null怎么存储的
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » mysql中null怎么存储的