如果我在最后删除 ORDER BY,则以下 SELECT 会在一秒钟内运行。使用 ORDER BY,它的运行时间约为 9 秒。
我有一个粗浅的理解,即其他一些 SQL 命令(例如“< >”比较运算符)可能与 ORDER BY 产生相反的效果。
我尝试过注释掉行,并且可以将性能提高到使用 ORDER BY 时可以说 2-3 秒,但仍然没有 ORDER BY,它更像是不到 1 秒。
有人能给我一些关于如何更好地编写这个查询、要避免什么等方面的好的建议吗?非常感谢所有建议。
谢谢
最佳答案
请尝试:
SELECT * FROM (
SELECT .. // Your old Query without GROUP BY and LIMIT
...
) AS tmp
ORDER BY heartbeat DESC
LIMIT 120;
关于MySQL 慢查询 - 排序依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40774563/