mysql - 为什么MySQL不建议使用NULL作为列默认值?

为什么MySQL不建议使用NULL作为列默认值?

InnoDB有4中行格式:

  • Redundant : 非紧凑格式,5.0 版本之前用的行格式,目前很少使用,
  • Compact : 紧凑格式,5.1 版本之后默认行格式,可以存储更多的数据
  • Dynamic , Compressed : 和Compact类似,5.7 版本之后默认使用 Dynamic 行格式,在Compact基础上做了改进,基础设计原理没变

由于Redundant较少使用, 且Dynamic和Compressed是基于Compact的, 故这里以Compact为例。
Compact行格式如下:

存储的额外数据存储的真实数据
变长数据列的长度NULL值的列表记录头信息row_id (隐藏字段)trx_id (隐藏字段)roll_ptr (隐藏字段)列1列2...列n

由于:

  1. NULL值列表的数量, 与允许为null的字段数量一致

    如, 有7个字段允许为null, 则有7个NULL值列表

  2. NULL值列表至少占用1字节空间, 故当数据量越大或null列越多时, 占用的存储空间越多

综上所述, 不建议允许列为null, 可使用其他默认值(如空字符串, 0等)

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

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

相关文章

K8S中Prometheus+Grafana监控

1.介绍 phometheus:当前一套非常流行的开源监控和报警系统。 运行原理:通过HTTP协议周期性抓取被监控组件的状态。输出被监控组件信息的HTTP接口称为exporter。 常用组件大部分都有exporter可以直接使用,比如haproxy,nginx,Mysql,Linux系统信…

C++质数的那些事(判断指数、区间筛质数、互质等等)

质数的定义:若一个正整数除了1和它自身之外不能被任何自然数整除,则该数称为质数,也叫素数。否则为合数。 质数的性质:质数的分布较为稀疏,对于一个足够大的数S,不超过S的质数大约有个,也就是说…

自组网实现

实现自组网的方法主要有以下几种,设备形态以及各自的特点归纳如下: 实现方法: 窄带自组网技术:以语音通信系统为代表,通常以12.5kHz和25kHz的信道间隔承载数据,能够支持包括语音、传感器数据等在内的低速…

有趣的css - 水波纹按钮

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是一个好看有质感的水波纹按钮。 最新文章通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面渲染效果 整体效果 &a…

Unity 代码实现Animator开始和结束播放动画回调

文章目录 1.代码2.使用方式3.注意事项 1.代码 using System; using System.Collections; using System.Collections.Generic; using UnityEngine;// 播放Animator并加入播放完成回调。 [RequireComponent(typeof(Animator))] public class AnimatorCallback : MonoBehaviour {…

【Spring Cloud】远程调用

目录 Spring Cloud Netflix Feign简介前言Feign是什么OpenFeign组件和Spring Cloud OpenFeignOpenFeign组件Spring Cloud OpenFeign OpenFeign-微服务接口调用需求说明1. 启动Eureka Server服务2.创建两个项目,将其注册到Eureka Server3.在服务提供者中添加业务处理…

【UE Websocket】“WebSocket Server”插件使用记录

1. 在商城中下载“WebSocket Server”插件 该插件具有如下节点,基本可以满足WebSocket服务端的所有需求 2. 如果想创建一个基本的服务端,我们可以新建一个actor蓝图,添加如下节点 3. UE运行后,我们可以使用在线的websocket测试助手…

RuntimeError: CUDA out of memory. Tried to allocate 1.77 GiB?如何解决

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

开源与闭源AI模型的对决:数据隐私、商业应用与社区参与

引言 在人工智能(AI)领域,模型的发展路径主要分为“开源”和“闭源”两条。这两种模型在数据隐私保护、商业应用以及社区参与与合作方面各有优劣,是创业公司、技术巨头和开发者们必须仔细权衡的重要选择。那么,面对这些…

ubuntu 22.04 apt非源码安装ros1 noetic

教程 https://zhuanlan.zhihu.com/p/679914618?utm_id0 文章目录 安装安装后配置验证安装卸载 安装 添加源: echo "deb [trustedyes archamd64] http://deb.repo.autolabor.com.cn jammy main" | sudo tee /etc/apt/sources.list.d/autolabor.list sud…

数据库中的事务槽(Transaction Slots)解析

事务槽(Transaction Slots)是Oracle数据库中与事务处理相关的概念,特别是与回滚段(Rollback Segments)的设计紧密相连。在早期的Oracle数据库版本中,回滚段是管理事务回滚信息的关键结构,而事务…

PCL点云八叉树体素中心下采样,体素包含点索引提取

目录 一、简介 二、实现方式 三、实现代码 四、运行结果 一、简介 建立空间索引在点云数据处理中有着广泛的应用,常见的空间索引一般是自顶而下逐级划分空间的各种空间索引结构,比较有代表性的包括BSP树,KD树,KDB树,R树,

离线安装gcc,openssh9.7,zlib,perl,openssl

离线安装gcc,openssh9.7,zlib,perl,openssl 创建文件夹www,位置root/www mkdir www离线安装gcc http://mirror.nju.edu.cn/centos-altarch/7.9.2009/isos/aarch64/CentOS-7-aarch64-Everything-2009.iso rpm -ivh mp…

6、python开发环境-PyCharm

下载完成之后双击进行安装 找到安装好的解释器程序

slurm是什么,怎么用? For slurm和For Pytorch有什么区别和联系?

1.slurm是什么? Slurm(Simple Linux Utility for Resource Management)是一种开源的、用于集群和超级计算机的作业调度系统。它主要用于管理和调度大规模计算任务,使得用户可以有效地利用集群中的计算资源。Slurm提供了一套功能强…

ZeroTier+Nomachine远程

目录 前述:一、Zero二、Nomachine 前述: 需要远程控制时,服务端与客户端都必须下载这两个软件!远程主机(被控制的主机)和远程客户端(控制主机的用户)都必须具有网络连接,…

11.Redis之zset类型

1.zset类型基本介绍 有序描述的是:升序/降序 Set 集合 1.唯一 2. 无序 孙行者,行者孙, 者行孙 >同一只猴~~ List有序的 孙行者,行者孙, 者行孙 >不同的猴~~ zset 中的 member 仍然要求是唯一的!!(score 则可以重复) 排序的规则是啥? 给 zset 中的 member 同…

快速排序算法备考

快排模板 快速排序(快排) (C语言实现)_c语言快速排序_Brant_zero2022的博客-CSDN博客 快排使用递归来实现 关键思想:划分 //划分 int partion(int A[],int L,int R){int midA[L];while(L<R){//每一次划分:左边元素<枢轴元素<右边元素//R往前找&#xff0c;直到找到一…

谷歌云代理商寻AI项目合作

谷歌云代理商寻AI项目合作&#xff0c;能提供谷歌云所有云资源&#xff0c;包括技术支持&#xff0c;寻AI技术合作伙伴&#xff0c;云上资源消耗给成本价&#xff0c;WeChat&#xff1a;_Roger-- Telegram&#xff1a;Google_Cloudd