萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql下count(*)與count(column)區別性能對比

mysql下count(*)與count(column)區別性能對比

本文章來給大家詳細介紹mysql中count(*)和count(column)使用是有區別的,有需要了解的朋友可參考參考

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(*)最快。

copyright © 萬盛學電腦網 all rights reserved