mysql中null怎么存储的-mysql教程

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 值不需要存储其实际值

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。