开发者社区> 问答> 正文

字段为什么要求定义为not null?

字段为什么要求定义为not null?

展开
收起
请回答1024 2020-03-31 11:22:12 3678 0
2 条回答
写回答
取消 提交回答
  • Java程序员

    1、索引性能不好 Mysql难以优化引用可空列查询,它会使索引、索引统计和值更加复杂。可空列需要更多的存储空间,还需要mysql内部进行特殊处理。可空列被索引后,每条记录都需要一个额外的字节,还能导致MYisam 中固定大小的索引变成可变大小的索引。 —— 出自《高性能mysql第二版》

    如此看来,不指定not null并没有性能上的优势

    2、查询会出现一些不可预料的结果,因为null列的存在,会出现很多出人意料的结果,从而浪费开发时间去排查Bug;

    2020-03-31 12:49:35
    赞同 展开评论 打赏
  • null值会占用更多的字节,且会在程序中造成很多与预期不符的情况。

    2020-03-31 11:22:17
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载