技术网站推广范例广州网站seo推广

张小明 2026/3/13 8:39:50
技术网站推广范例,广州网站seo推广,室内设计意向图网站,互联网宣传方式使用 MySQL 数据库时#xff0c;对于一个可以为空的字段#xff0c;如果没有值#xff0c;应该保存 NULL 还是给一个默认值呢#xff1f;多数时候我们不太注意#xff0c;有时候不赋值#xff0c;直接保存 NULL#xff0c;有时候赋值一个业务指定的默认值。今天来聊一聊…使用 MySQL 数据库时对于一个可以为空的字段如果没有值应该保存 NULL 还是给一个默认值呢多数时候我们不太注意有时候不赋值直接保存 NULL有时候赋值一个业务指定的默认值。今天来聊一聊这个话题。1.行数据存储MySQL 保存一行数据时不仅仅会保存数据本身还会保存数据相关的额外信息。InnoDB 存储引擎支持四种行格式MySQL 5.7 版本之后默认使用 Dynamic 行格式。看一下官网给出的 4 种格式说明行格式紧凑的存储特性增强的可变长度列存储大索引键前缀支持压缩支持表空间类型支持文件格式REDUNDANTNoNoNoNosystem, file-per-table, generalAntelope or BarracudaCOMPACTYesNoNoNosystem, file-per-table, generalAntelope or BarracudaDYNAMICYesYesYesNosystem, file-per-table, generalBarracudaCOMPRESSEDYesYesYesYesfile-per-table, generalBarracudaDYNAMIC 和 COMPRESSED 这两种格式都是 COMPACT 的改进版基本结构跟 COMPACT 类似我们看一下 COMPACT 这种格式。如下图我们创建一张表CREATE TABLEt_user ( idbigint(20) NOTNULL AUTO_INCREMENT, namevarchar(16) DEFAULTNULL, emailvarchar(32) DEFAULTNULL, addressvarchar(255) DEFAULTNULL, PRIMARY KEY (id) ) ENGINEInnoDBDEFAULTCHARSETlatin1;插入 2 行数据数据行保存格式如下图变长字段宽度列表保存变长字段非空值长度。从上图可以看到变长字段宽度列表存放的列宽度顺序和数据表中的列顺序相反也就是说变长字段宽度列表逆序存放列宽度。如果表中所有列都是 NOT NULL 并且具有固定长度则没有变长字段宽度列表这个部分。同样NULL 值列表也是逆序保存当该值是 NULL 时用二进制 1 表记否则就保存二进制 0。如果表中所有列都是 NOT NULL就没有 NULL 值列表这个部分。记录头信息用 5 个字节保存主要记录数据的一些信息比如delete-flag记录是否删除我们知道在 MySQL 中删除一条数据并不会马上从磁盘上删除而是打上删除标记在空余时间再进行异步清理。record_type记录类型比如普通记录、非叶子节点记录。next_record指向下一条记录的地址指针。n_owned记录该组数据的条数。隐藏列DB_TRX_ID修改插入、更新或删除这一条数据的事务 idDB_ROLL_PTR回滚指针指向修改前的历史版本用于回滚操作DB_ROW_ID当表中不定义主键时用作主键来自动生成聚簇索引。2.NULL 处理根据上面的分析和实际使用如果我们把一个字段直接定义成 NOT NULL有下面好处节省存储空间NULL 值虽然不会占用数据存储空间但是需要额外 1~2 个字节保存 NULL 值列表。减少应用程序 NullPointerException 的可能性减少统计问题比如 count(字段)不会统计 NULL 值。对索引有好处索引是不会保存 NULL 值的定义成 NULL 会使索引效率下降。比较操作字段定义成 NULL只能使用 is null 和 is not null 进行判断不能使用比较操作比如 、!、、都会返回 null 。范围操作字段定义成 NULL使用 in、not in 语句时会返回空结果。当然设置为 NULL并不是没有好处比如语义清晰‌NULL 表示“无值”或“未知”这在逻辑上更清晰准确灵活性‌NULL 值更容易筛选比如在 WHERE 子句中使用 is null 进行筛选兼容性‌类似 JOIN 操作NULL 跟任何值比较都会返回 NULL这有助于保持数据的一致性和完整性。在实际项目开发中我们经常会在值是 NULL 的情况下给一个默认值比如”-“、”“、”N/A“等这一定程度上避免了空指针但是往往带来一些额外的问题比如上下游系统因为默认值的不一致导致业务处理受影响。在表设计时我们其实没有必要过多地考虑定义成 NULL 或默认值在存储空间上的影响更多的应该考虑系统整体设计规范、保证各子系统在设计上的一致性这样才能让处理逻辑更加健壮。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

沈阳模板建站淘宝店铺怎么免费推广

你是否曾在海拉鲁大陆冒险时,因为心爱的装备突然损坏而陷入困境?是否渴望拥有足够的资源来征服每一场挑战?现在,通过这款图形界面存档编辑器,你可以轻松实现游戏资源管理,让冒险之旅更加自由随心。 【免费下…

张小明 2026/3/5 6:05:08 网站建设

怎么做刷业网站wordpress 鼠标点击特效

GEO代运营服务商深度评测:企业如何选择AI时代的“内容导航员”?在生成式AI(AIGC)重塑信息获取方式的今天,一个不容忽视的趋势正在发生:中国生成式AI用户已达5.15亿,其中80%的用户偏好使用AI获取…

张小明 2026/3/5 6:05:09 网站建设

购物网站建设网站恩平网站建设

在很多技术宣传中,系统总是被描述得近乎完美:高可用、高性能、可无限扩展。 但真正做过工程的人都知道: 失败不是例外,而是常态。系统会超载、依赖会失效、数据会异常、人为失误一定会发生。 区别只在于——系统是否为失败做好了准…

张小明 2026/3/5 6:05:09 网站建设

湖南众诚建设网站网站可信图标

第一章:AOT调试的核心挑战在现代编译技术中,提前编译(Ahead-of-Time, AOT)因其出色的运行时性能而被广泛应用于生产环境。然而,AOT 编译带来的静态优化特性也显著增加了调试的复杂性。由于代码在部署前已被转化为机器码…

张小明 2026/3/5 6:05:12 网站建设

西安高端网站制作公司哪家好wordpress 小米

LangFlow镜像翻译节点:多语种互译提升全球化能力 在当今全球互联的商业环境中,AI系统不再只是服务单一语言用户的技术工具,而是需要跨越语言与文化的智能桥梁。无论是跨境电商客服、国际教育平台,还是跨国企业知识管理&#xff0…

张小明 2026/3/5 6:05:13 网站建设

常熟市建设局网站做网站那家公司好

语音合成安全边界:防止EmotiVoice被滥用的技术措施 在某社交平台上,一段“某知名企业家公开道歉”的语音迅速传播,情绪真切、语调自然,引发轩然大波。数小时后,真相揭晓——这并非真实录音,而是由开源语音合…

张小明 2026/3/5 6:05:14 网站建设