count(*)、count(1)、count(0)、count(列名)區別


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 的記錄。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM