我有一個三列的表 - appname,uid,rating。 我需要快速獲得每個appname的平均評分。這是我的代碼:避免在平均組中使用臨時組
SELECT
t1.appname as applicationName,
Avg(t1.rating) as averageRating
FROM
`user_ratings` t1
GRO
t1.appname
的問題是,我的嵌入式服務器上這需要幾秒鐘,而如果在/ tmp填滿,甚至可能會失敗(我不能做這個事情,我也可以」編輯my.cfg)。所以我想這樣做而不使用臨時的。
下面是解釋輸出,示出作爲預期TMP用於:
1 SIMPLE t1 ALL 6399 Using temporary; Using filesort
沒有平均,查詢瞬間完成,併產生這個說明:
1 SIMPLE t1 index appname 452 6399 Using index
完美地工作,謝謝。我必須閱讀涵蓋索引。 – Klocman
我在他們的快速討論:http://mysql.rjweb.org/doc.php/index1加一個更長的「菜譜」:http://mysql.rjweb.org/doc.php/index_cookbook_mysql –