执行结果的区别:
count(1)和count(*)都是统计表的总条数,count(列名)时,如果该列有NULL值,统计结果时会忽略空值。因此count(1)和count(*)的结果一样,count(列名)的值可能会变小。
执行效率的区别:
列名为主键时,count(列名)的效率比count(1)高;
列名不为主键,count(1)的效率比count(列名)高;
如果表没有主键,count(1)的效率比count(*)高;
如果有有主键,count(主键)的效率最高;
如果表只有一个字段,count(*)效率最高