1、count(*)、count(1):
count(*)對行的數目進行計算,包含NULL,count(1)這個用法和count(*)的結果是一樣的。
如果表沒有主鍵,那么count(1)比count(*)快。表有主鍵,count(*)會自動優化到主鍵列上。
如果表只有一個字段,count(*)最快。
count(1)跟count(主鍵)一樣,只掃描主鍵。count(*)跟count(非主鍵)一樣,掃描整個表。明顯前者更快一些。
count(1)和count(*)基本沒有差別,但在優化的時候盡量使用count(1)。
2、count(1)、count(列名):
(1) count(1) 會統計表中的所有的記錄數,
包含字段為null 的記錄。
(2) count(字段) 會統計該字段在表中出現的次數,忽略字段為null 的情況。
即不統計字段為null 的記錄。