Mysql varchar 把默认值设置为null和空的区别

'',这个表示空,需要消耗存储空间的。
NULL,则表示连这个都没有。

NULL,你可以近似理解为变量未赋值(定义了变量,但是未使用,变量不指向具体存储空间,因此,理论上不消耗存储空间),同时,它理论上不可以输出,因为变量本身没有内容(一些语言是可以强行将NULL输出来,是因为它内部做了隐性类型转换,例如就将NULL自动转为空)。

空“”,你可以近似理解为空串(定义了变量,并且赋值为空,这个空是具有含义的,需要消耗存储空间),可以输出来,展示表现为空。

不使用NULL可以提高索引效率,因为树形索引结构中将NULL也视作一般数据节点。

原文地址:https://www.cnblogs.com/XJJD/p/7683924.html