1、效果上:
count(1)忽略所有列,用1代表行,不会忽略为NULL列。
count(*)含所有列,不会忽略为NULL列。
count(列名)只含列名那列,忽略列值为null的计数,而不忽略空字符串或者0,即某个字段值为NULL时,不统计。
2、效率上:
若列名是主键,count(列名)比count(1)快。
若列名不是主键,count(1)比count(列名)快。
若多个列没有主键,则 count(1)效率优于 count(*)。
若存在主键,则 select count(主键)的执行效率是最优的 。
若表只有一个字段,则 select count(*)最优。