----count(*)是整个表中有多少条记录,扫描的是整个表 ----
----count(1)是第一列有多少个值,扫描的是一列 ----
第一句是对的.第二句就错了.count(1)并不是针对第一列,你可以试试count('A')
同样是可以得到整个表的记录数的.这里只是用一个实际值罢了.当然也可以是一个字符串.count('Aasd')都是可以的.
这种采用实际值的例子比用*都要快.因为它执行的时候不是扫描整个表
----count(1)是第一列有多少个值,扫描的是一列 ----
第一句是对的.第二句就错了.count(1)并不是针对第一列,你可以试试count('A')
同样是可以得到整个表的记录数的.这里只是用一个实际值罢了.当然也可以是一个字符串.count('Aasd')都是可以的.
这种采用实际值的例子比用*都要快.因为它执行的时候不是扫描整个表
本文详细解释了SQL中count(*)与count(1)的区别。前者统计表中的所有记录数,而后者同样统计所有记录数,但通过指定一个常量来提高执行效率。文章澄清了常见误解,并提供了实际例子说明。
1344

被折叠的 条评论
为什么被折叠?



