阿里規范 - 五、MySQL 數據庫 - (三)SQL語句 - 1 - 【強制】不要使用 count(列名)或 count(常量)來替代 count(*),count(*)是 SQL92 定義的 標准統計行數的語法,跟數據庫無關,跟 NULL 和非 NULL 無關。


1、count(1)  vs  count(*)   

兩者都統計NULL值;但 count(*)是 SQL92 定義的 標准統計行數的語法,跟數據庫無關

且 坊間有傳言 MySQL會對count(*)做優化   

不要用 count(1)

 

2、count(列名)   vs   count(*)

count(列名) 會去過濾NULL。

 

count(主鍵)    vs   count(*)

小數據量 幾乎無差   大數據量 需要進一步測試

根據  ”暫不知道怎么選 就聽阿里的”原則

用 count(*) 


免責聲明!

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



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