count(*)与count(1)、count('xxx')等在使用语法方面的区别

语法方面:

区别就是:没有区别!!! 

“*”号是通配符;

“*”号是通配符

“*”号是通配符

使用"*"号和使用其他数字和任意非字段字符在使用方面没有任何语法错误;

 至于效率方面是否有区别,尚未研究。以下摘自网络

count 解释
count(*) 返回表中所有存在行的总数包括null;处理count(*)的时候只需要计算一下行数就行了,不用去读取里面数据列的数据。
count(1) 返回的是去除null以外的所有行的总数,有默认值的也会被记录;必须读取该colum的每一行的值,然后确认下是否为NULL,然后在进行计数。
因此count(*)应该是比count(1)或者count('xxx')快的;

最后总结三条经验,(网上看到的)
1.任何情况下select count(*) from table 最优选择
2.减少select count(*) from table where condition = ? 这样的查询
3.杜绝select count(colunm) from table
原文地址:https://www.cnblogs.com/xh_Blog/p/10691032.html