第一个总结:count(*) count(1) 在没条件的情况下两者没有什么区别
有无主键情况下:
如果你数据库没有主键count(1) 比count() 快。
如果有主键主键作为条件count() 那么count(1) 比count() 快。
如果表里面只有一个字段那么是count(*)最快
count(*) 返回表中所有存在行的总数包括null ,
然而count(1) 返回的是去除null以外的所有行的总数,有默认值的也会被记录。
准则:
1.任何情况下select count(*) from table 最优选择
2.减少select count(*) from table where condition = ? 这样的查询
3.杜绝select count(colunm) from table