视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql里null的意思是什么
2020-11-09 06:50:12 责编:小采
文档


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视频教程

    下载本文
    显示全文
    专题