首页 > count(*)和count(1)区别?

count(*)和count(1)区别?

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)查询的那列有空的时候空的是要被去掉的不记入统计中.这样查询出来的结果是不一样的.

【热门文章】
【热门文章】