⼀般情况,都会设置⼀个默认值,不会出现字段⾥⾯有null,⼜有空的情况。主要有以下⼏个原因:
索引性能不好,Mysql难以优化引⽤可空列查询,它会使索引、索引统计和值更加复杂。可空列需要更多
的存储空间,还需要mysql内部进⾏特殊处理。可空列被索引后,每条记录都需要⼀个额外的字节,还能导
致MYisam 中固定⼤⼩的索引变成可变⼤⼩的索引。
如果某列存在null的情况,可能导致count() 等函数执⾏不对的情况。看⼀下2个图就明⽩了:
sql 语句写着也麻烦,既要判断是否为空,⼜要判断是否为null等。