我只是想了解背後的機制。有兩個查詢爲什麼MySQL COUNT + GROUP-BY花費的時間比GROUP BY更長
SELECT SQL_NO_CACHE count(id) AS cnt FROM `users` GROUP BY country
SELECT SQL_NO_CACHE id FROM `users` GROUP BY country
id是主要的,國家沒有索引。 爲什麼使用count的查詢需要更長的時間才能運行。從我的理解到GROUP BY的表格內容,你無論如何都需要遍歷所有的行?如果是這樣,那麼爲什麼它不會因爲它將事物分組?或者如果不是這樣,那麼它如何不經過所有的行就能成功地完成組合,它是如何設法跳過其中一些行的?
我真的很抱歉,我在創建問題時複製了錯誤的查詢。這已得到糾正。 – Eugene 2012-02-19 19:18:46