1.MySQL中count(*)、count(I)和count(字段名)有什么區別?
1**.COUNT ()**是效率最高的統計方式:COUNT()被優化為常量,直接統計表的所有記錄數,不依賴字段內容,開銷最低。推薦在統計整個表的記錄數時使用。
2.**COUNT(1)**效率接近COUNT()參數1也被視為常量,不會讀取字段內容,但由于少了特定優化,效率略低于COUNT()
3.**COUNT(主鍵字段)效率較高但略遜于。遍歷聚簇索引讀取主鍵字段,/O成本略高。
4COUNT(字段名)**開銷最大:需要讀取字段值并判斷是否為NULL,尤其在字段較多或記錄校大時,性能較差。適用于統計特定字段非空值的場景。