count(*) 与count(1)与count(主键)

一 如果null参与聚集运算,则除count(*)之外其它聚集函数都忽略null.

如:
ID  DD
1    e

2    null


select count(*) from table --结果是2
select count(DD) from table ---结果是1

有说count(1)效率高,感觉差不多..没啥区别


二 不考虑Null的情况


count(1)和count(主键) 这两个只扫描主键Index就可以得到数据,
count(*)是扫描表的。
所以count(1)和count(主键)这两个效率高。


还有一种写法是count(ROWID)这也是只扫描Index的,效率高。

猜你喜欢

转载自blog.csdn.net/qq_15936309/article/details/77772697
今日推荐