扫码关注官方订阅号
count(*)和count(1)区别?
学习是最好的投资!
以下sql可以看到你的sql会被mysql转译成怎样
EXPLAIN EXTENDED SELECT count(*) FROM `table`; SHOW WARNINGS;
我的版本是mysql 5.6.26,以下是转译后的结果:
/* select#1 */ select count(0) AS `count(*)` from `test`.`table`
所以,在我看来,较新版本的mysql已经没这方面的区别了,不过习惯上我还是使用count(1)。
在数据记录都不为空的时候查询出来结果上没有差别的. 但当COUNT(1)查询的那列有空的时候空的是要被去掉的不记入统计中.这样查询出来的结果是不一样的.
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
以下sql可以看到你的sql会被mysql转译成怎样
我的版本是mysql 5.6.26,以下是转译后的结果:
所以,在我看来,较新版本的mysql已经没这方面的区别了,不过习惯上我还是使用count(1)。
在数据记录都不为空的时候查询出来结果上没有差别的. 但当COUNT(1)查询的那列有空的时候空的是要被去掉的不记入统计中.这样查询出来的结果是不一样的.