count(*)對行的數目進行計算,包含NULL.
count(column)對特定的列的值具有的行數進行計算,不包含NULL值.
count()還有一種使用方式,count(1)這個用法和count(*)的結果是一樣的.
關于他們的性能問題
1.任何情況下SELECT COUNT(*) FROM tablename是最優選擇.
2.盡量減少SELECT COUNT(*) FROM tablename WHERE COL = ‘value’這種查詢.
3.杜絕SELECT COUNT(COL) FROM tablename WHERE COL2 = ‘value’的出現.
如果表沒有主鍵,那么count(1)比count(*)快.
如果有主鍵,那么count(主鍵,聯合主鍵)比count(*)快.
如果表只有一個字段,count(*)最快.
新聞熱點
疑難解答