深入解析:MySQL 中 NULL 值是否占用 1 bit 存储空间?

在 MySQL 的存储机制中,关于 NULL 值是否占用 1 bit 的存储空间,存在一个常见的理解误区。许多人认为“每个 NULL 值占用 1 bit”,但这并不完全准确。本文将通过 InnoDB 引擎的存储原理,详细解释 NULL 值的实际存储开销,并澄清这一误解。


一、核心结论

  1. 允许为 NULL 的列会引入位掩码(Bitmask) ,但 位掩码的开销是按字节分配,而非按单个 NULL 值分配。
  2. NULL 值本身不存储数据内容,但通过位掩码标记是否为 NULL
  3. 固定长度类型(如 INT)的 NULL 值不占用数据空间,仅通过位掩码标记。
  4. 可变长度类型(如 VARCHAR)的 NULL 值同样不占用数据空间,但比空字符串('')节省 1-2 字节的长度信息。

二、位掩码机制详解

1. 位掩码的作用

InnoDB 的每行数据开头有一个 NULL 位掩码,用于标记哪些允许为 NULL 的列实际存储了 NULL 值。

  • 每个允许为 NULL 的列在位掩码中对应 1 bit
  • 位掩码的总大小按字节向上取整
    位掩码字节数 = ⌈允许为 NULL 的列数 / 8⌉

示例

  • 若表中有 5 个允许为 NULL 的列,位掩码占用 1 字节(5/8=0.625 → 向上取整为1)。
  • 若有 9 个允许为 NULL 的列,位掩码占用 2 字节

2. 位掩码的存

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43487.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VLAN综合实验二

一.实验拓扑: 二.实验需求: 1.内网Ip地址使用172.16.0.0/分配 2.sw1和SW2之间互为备份 3.VRRP/STP/VLAN/Eth-trunk均使用 4.所有Pc均通过DHCP获取IP地址 5.ISP只能配置IP地址 6.所有…

ABAP FPM

1.效果 2.查询条件的feed class SE11创建feed class数据的结构 ZCL_FPM_FIFO_SEARCH GET_DEFINITION方法代码 METHOD if_fpm_guibb_search~get_definition.eo_field_catalog_attr ? cl_abap_structdescr>describe_by_name( ZSS_FIFO_DATA ).ENDMETHOD. PROCESS_EVENT代码…

某大麦手机端-抢票

引言 仅供学习研究,欢迎交流 抢票难,难于上青天!无论是演唱会、话剧还是体育赛事,大麦网的票总是秒光。作为一名技术爱好者,你是否想过用技术手段提高抢票成功率?本文将为你揭秘大麦手机端抢票的核心技术…

【免费】2007-2019年各省地方财政文化体育与传媒支出数据

2007-2019年各省地方财政文化体育与传媒支出数据 1、时间:2007-2019年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区、年份、地方财政文化体育与传媒支出 4、范围:31省 5、指标说明:地方财政在文化、…

Playwright从入门到实战:比Selenium更快的数据爬取案例实战

摘要 Playwright 是微软开源的下一代浏览器自动化工具,凭借其高性能、跨浏览器支持和现代化设计,迅速成为 Web 自动化领域的热门选择。本文将从 安装配置 开始,通过 实战演练 展示其核心功能,并与 Selenium 深度对比,…

音频知识 参数分析

通道布局 参考 通过pcm音频数据计算分贝 理解FFT和信号加窗原理及意义 dts音效大师教程

《STL 六大组件之容器探秘:深入剖析 vector》

目录 一、vector 简介二、vector 的常用接口1. 构造函数(constructor function)2. 与迭代器相关的接口(iterator)3. 与容量相关的接口(capacity)4. 与访问和修改有关的接口(access、modify&…

基于深度学习的手势识别系统设计

目录 背景与分析: 基于深度学习的手势识别系统设计 课题要求 技术分析: 技术点概述: 过程(主体展示为主,部分功能不一一展示): 数据集(17个G): 源码、…

【SpringCloud】Eureka的使用

3. Eureka 3.1 Eureka 介绍 Eureka主要分为两个部分: EurekaServer: 作为注册中心Server端,向微服务应用程序提供服务注册,发现,健康检查等能力。 EurekaClient: 服务提供者,服务启动时,会向 EurekaS…

构建大语言模型应用:简介(第一部分)

本专栏聚焦大语言模型(LLM)相关内容的解析,通过检索增强生成(RAG)应用的视角来进行。 本系列文章 简介(本文)数据准备句子转换器向量数据库搜索与检索大语言模型开源检索增强生成评估大语言模…

Python:日志模块操作及基本配置,日志格式化输出

logger(日志管理器):用户默认是root,其配置步骤为: 1.初始化对象 2.设置级别 3.定义handler(控制台或文件显示) 4.格式化输出 import logging #创建log文件并设置级别 logging.basicConfig(filenametext.log, levellogging.DEBUG) #在文…

The selected directory is not a valid home for Go SDK

安装完毕Go和GoLand之后,重新配置GoLand的GOROOT时,可能会报错 The selected directory is not a valid home for Go SDK 需要找到安装Go的目录,我的目录如下 D:\SoftFolder\Go\src\runtime\internal\sys 进入到sys文件下,找到…

pycharm找不到conda可执行文件解决办法

配置一个新项目,需要使用远程服务器环境的时候,找不到anaconda里面的python可执行文件,怎么都解决不了,很尴尬,看了很多,终于找到一个博客有用: https://blog.csdn.net/weixin_43912188/articl…

Blender多摄像机怎么指定相机渲染图像

如题目所说,当blender的场景里面有摄像机的时候,按F12可以预览渲染结果,但是当有多个摄像机的时候就不知道使用哪个进行渲染了。 之前在网上没有找到方法,就用笨方法,把所有的摄像机删除,然后设置自己需要…

org.apache.maven.surefire:surefire-junit-platform:jar:2.22.2 Maven打包失败

org.apache.maven.surefire:surefire-junit-platform:jar:2.22.2 解决办法 勾上这个,打包时跳过测试代码

CKS认证 | Day3 K8s容器运行环境安全加固

一、最小特权原则(POLP) 1)最小特权原则 (Principle of least privilege,POLP) : 是一种信息安全概念,即为用户提供执行其工作职责所需的最 小权限等级或许可。 最小特权原则被广泛认为是网络安全的最佳实…

项目-苍穹外卖(十七) Apache POI+导出数据

一、介绍 二、入门案例 package com.sky.test;import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.File; import java.io.FileNotFoundException; import jav…

2023第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组(真题题解)(C++/Java题解)

本来想刷省赛题呢,结果一不小心刷成国赛了 真是个小迷糊〒▽〒 但,又如何( •̀ ω •́ )✧ 记录刷题的过程、感悟、题解。 希望能帮到,那些与我一同前行的,来自远方的朋友😉 大纲: 一、子2023-&#xff…

Cannot find a valid baseurl for repo: centos-sclo-sclo/x86_64

​ rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-latest-5.0.el7.noarch.rpmyum clean allyum macache fast​ 编辑配置文件 /etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository. [zabbix-frontend]...enabled1... 下载相关…

【STM32】WDG看门狗(学习笔记)

学习来源----->江协科技STM32 WDG简介 WDG(Watchdog)看门狗看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长…