MySQL字段设置not null

一、null是占用空间的,需要一个字节作为判断是否为null。

二、查询时一定程度减少空指针

三、类似使用count(null column),这个列是不计数的

但是偶然发现count('空列')---加单引号是统计null的---有知道的大佬帮我解答一下
mysql> select count(qwe) from tb
    -> ;
+------------+
| count(qwe) |
+------------+
|          0 |
+------------+
1 row in set (0.02 sec)

mysql> select count('qwe') from tb;
+--------------+
| count('qwe') |
+--------------+
|            2 |
+--------------+
1 row in set (0.03 sec)

mysql> select count('asd') from tb;
+--------------+
| count('asd') |
+--------------+
|            2 |
+--------------+
1 row in set (0.03 sec)

mysql> select count(asd) from tb;
+------------+
| count(asd) |
+------------+
|          2 |
+------------+
1 row in set (0.03 sec)

mysql> 

四、含有空值的列很难进行查询优化,而且对表索引时不会存储 NULL 值的。所以如果索引的字段可以为 NULL值,索引的效率会下降。因为它们使得索引、索引的统计信息以及比较运算更加复杂。

五、NOT IN 、!= 等负向条件查询在有 NULL 值的情况下,返回永远为空结果,查询容易出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值