我有以下查詢:由SUM非常緩慢排序
SELECT SUM(s.count) as count, a.name, s.author_id as id
FROM twitter_author_daily_stats s
JOIN twitter_author a ON s.author_id = a.id
WHERE s.`date` >= '2011-01-07'
AND s.`date` <= '2011-09-21'
AND s.profile_twitter_search_id IN (263)
GROUP BY s.author_id
LIMIT 30;
它使用一個索引(AUTHOR_ID,profile_twitter_search_id,日期);它很快(〜1s);它返回〜2500行。
但是,當我添加ORDER BY count
時,查詢運行了幾分鐘(我沒有打擾等待它完成)。
不應該只從原始查詢中抽取〜2500行並按count
列進行排序?爲什麼需要這麼長時間?
能有更好的MySQL知識的人解釋嗎?
我認爲用'a.id'對結果進行分組會更好。 – Karolis