SELECT COUT(主键)、count(1)、count(*)的区别 SELECT COUT(主键)、count(1)、count(*)的区别 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 根据explian 得出结论 没区别mysql> explain select count(1) from table1;+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+| 1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Select tables optimized away | +----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+1 row in set (0.00 sec)mysql> explain select count(*) from table1; +----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+| 1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Select tables optimized away | +----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+1 row in set (0.00 sec)mysql> explain select count(id) from table1; +----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+| 1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Select tables optimized away | +----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+ 返回table表里面的记录总数select count(1) from table的效率更好。 select cout(主键),好像没有见过。其他两个能得出相同结果。 不是吧,COUNT(*)count(1)是算NULL行的,其它不算NULL 如果只是主键,那么3个SQL语句结果是一致的,因为主键不能为NULL,如是其它字段,且有NULL的话,结果是有区别的 增加一条有NULL的记录测试一下就知道 增加一条有NULL的记录测试一下就知道测了,都一样!50000条数据 Mysql函数求优化 mysql 建表多个字段默认值为当前时间 disuz数据库查询问题 mysql远程登录错误 求一条MYSQL查询语句 一张表的同一字段存在多个外键的问题 初用MYSQL,问个弱智的问题! 求救mysql语句 如何在mysql,从文本文件导入数据! 没有比这更简单的了,一句select语句怎么写, shell怎么进入?(mysql) 怎么玩的,我倒。。。 if问题
+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+
| 1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Select tables optimized away |
+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+
1 row in set (0.00 sec)mysql> explain select count(*) from table1;
+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+
| 1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Select tables optimized away |
+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+
1 row in set (0.00 sec)mysql> explain select count(id) from table1;
+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+
| 1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Select tables optimized away |
+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+
select count(1) from table的效率更好。
其他两个能得出相同结果。
有区别的