mysql中count(1)與count(*)比較
count詳解:
count(*)將返回表格中所有存在的行的總數包括值為null的行,然而count(列名)將返回表格中除去null以外的所有行的總數(有預設值的列也會被計入).
distinct 列名,得到的結果將是除去值為null和重複資料後的結果
sql調優,主要是考慮降低:consistent gets和physical reads的數量。
count(1)與count(*)比較:
如果你的資料表沒有主鍵,那麼count(1)比count(*)快
如果有主鍵的話,那主鍵(聯合主鍵)作為count的條件也比count(*)要快
如果你的表只有一個欄位的話那count(*)就是最快的啦
count(*) count(1) 兩者比較。主要還是要count(1)所相對應的資料欄位。
如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。
因為count(*),自動會最佳化指定到那一個欄位。所以沒必要去count(?),用count(*),sql會幫你完成最佳化的
總結三條經驗
1.任何情況下SELECT COUNT(*) FROM tablename是最優選擇;
2.儘量減少SELECT COUNT(*) FROM tablename WHERE COL = 'value’ 這種查詢;
3.杜絕SELECT COUNT(COL) FROM tablename的出現。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2076594/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- count(0),count(1),count(*)總結與count(column)
- ORACLE的count與空值比較Oracle
- MySQL的COUNT語句--count(*)、 count(常量)、 count(列名)MySql
- 圖解MySQL:count(*) 、count(1) 、count(主鍵欄位)、count(欄位)哪個效能最好?圖解MySql
- count(1),count(*),count(列)的區別
- 【優化】COUNT(1)、COUNT(*)、COUNT(常量)、COUNT(主鍵)、COUNT(ROWID)等優化
- count(*)、count(1)和count(列名)的區別
- count (*) 和 count (1) 和 count (列名) 區別
- count(*) 和 count(1)和count(列名)區別
- SQL Server中count(*)和Count(1)的區別SQLServer
- mysql中count的用法MySql
- 提高MSSQL資料庫效能(1)對比count(*) 和 替代count(*)SQL資料庫
- 【MySQL】效能優化之 count(*) VS count(col)MySql優化
- MySQL:count(*) count(欄位) 實現上區別MySql
- 安裝mysql遇到ERROR: 1136 Column count doesn't match value count at row 1MySqlError
- MySQL中count(*)函式原理詳解MySql函式
- select count(*)和select count(1)的區別
- Ask Hoegh(4)——select count(*)和select count(1)、count(column)有區別嗎?
- MySQL中的FOUND_ROWS()與ROW_COUNT()函式MySql函式
- mysql count()的使用解析MySql
- MySQL Count(*)提速30倍MySql
- C# 中List中的Count和Count(),有什麼區別C#
- MySQL優化COUNT()查詢MySql優化
- MySQL:SELECT COUNT 小結MySql
- mysql count函式說明MySql函式
- MySQL裡的found_row()與row_count()MySql
- 有關mysql中ROW_COUNT()的小例子MySql
- count(*) 和count(column)之區別
- 百萬資料 mysql count(*)優化MySql優化
- count_sum_distinct與nullNull
- SQL Server、Oracle中CASE 與COUNT合用計數SQLServerOracle
- mysql count函式與分頁功能極限優化MySql函式優化
- mysql 大表中count() 使用方法以及效能優化.MySql優化
- MySQL:COUNT(*) profile optimizing階段慢MySql
- Terraform中的for_each和countORM
- count(*) 優化優化
- count(*)優化優化
- 理解exists count