为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL字段的属性应该尽量设置为NOT NULL

标签:
MySQL

数据库建表时,对于一些可填可不填的字段,我们应该尽量把它设置为 NOT NULL。这种做法即可以提高性能,又可以在很大程度上避免空指针类的问题,好处颇多。

1.节省空间

NULL 列需要更多的存储空间:需要一个额外字节作为判断是否为 NULL 的标志位。

2.空指针

查询时,可以在一定程度上减少 NullPointerException。

3.减少因为空值而出现的计算错误

如果有 Null column 存在的情况下,count(NULL column) 需要格外注意,NULL 值不会参与统计。

4.索引

含有空值的列很难进行查询优化,而且对表索引时不会存储 NULL 值的。所以如果索引的字段可以为 NULL值,索引的效率会下降。因为它们使得索引、索引的统计信息以及比较运算更加复杂。

应该用0、一个特殊的值或者一个空串代替 NULL值。

5.使用 != ,NOT IN 的情况

NOT IN 、!= 等负向条件查询在有 NULL 值的情况下,返回永远为空结果,查询容易出错。

 

以上仅是本人最近学习所做的总结和思考,有不对的地方欢迎指正。

作者:joelshaw

原文链接:https://www.cnblogs.com/xiao1997/p/10290306.html





点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消