mysql里null的意思是什么

在mysql中null代表什么都没有,是尚未定义的值,占用空间,但不能参与任何计算,因为空值参与任何计算都为空。null使得索引、索引统计和值都更加复杂,并且影响优化器的判断。

十载的荆州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整荆州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“荆州网站设计”,“荆州网站推广”以来,每个客户项目都认真落实执行。

mysql中null确实很难缠,往往很多高手在sql优化时都被它坑过

MySQL中,null是未知的,且占用空间的。null使得索引、索引统计和值都更加复杂,并且影响优化器的判断。

空值('')是不占用空间的,注意空值的''之间是没有空格。

在进行count()统计某列的记录数的时候,如果采用的 NULL 值,会被系统自动忽略掉,但是空值是会进行统计到其中的。

判断null使用is null或者is not null,但判断空字符使用 =''或者 <>''来进行处理。

对于timestamp数据类型,如果插入 NULL 值,则出现的值是当前系统时间。插入空值,则会出现'0000-00-00 00:00:00' 。

对于已经创建好的表,普通的列将 null修改为 not null带来的性能提升比较小,所以调优时没有必要特意一一查找并null修改 not null。

对于已经创建好的表,如果计划在列上创建索引,那么尽量修改为not null,并且使用0 或者一个特殊值或者空值''。

总之,对于表通常情况也全都指定为not null,并指定 default ''或者其它默认值,优势大于劣势。

推荐教程:mysql视频教程
本文标题:mysql里null的意思是什么
转载来源:http://scyanting.com/article/cpghhd.html