mysql group by 慢_mysql“group by”查询非常慢
我在一個有大約100k記錄的表中有這個查詢,它運行得很慢(3-4s),當我取出組時它更快(少于0.5s).我很想知道如何解決這個問題:
SELECT msg.id,
msg.thread_id,
msg.senderid,
msg.recipientid,
from_user.username AS from_name,
to_user.username AS to_name
FROM msgtable AS msg
LEFT JOIN usertable AS from_user ON msg.senderid = from_user.id
LEFT JOIN usertabe AS to_user ON msg.recipientid = to_user.id
GROUP BY msg.thread_id
ORDER BY msg.id desc
msgtable在thread_id,id,senderid和recipientid上有索引.
解釋回報:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE msg ALL NULL NULL NULL NULL 162346 Using temporary; Using filesort
1 SIMPLE from_user eq_ref PRIMARY PRIMARY 4 db.msg.senderid 1
1 SIMPLE to_user eq_ref PRIMARY PRIMARY 4 db.msg.recipientid 1
任何想法如何在返回相同結果時加快速度(每個線程有多個消息,我想在此查詢中每個線程只返回一條消息).
提前致謝.
總結
以上是生活随笔為你收集整理的mysql group by 慢_mysql“group by”查询非常慢的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RNG运营负责人回应Bin离队:不会做伤
- 下一篇: php mysql 迁移_将phpstu