【问题标题】:MySQL Slow Query - Order ByMySQL 慢查询 - 排序方式
【发布时间】:2016-11-23 21:38:21
【问题描述】:

如果我在最后删除 ORDER BY,我会在一秒钟内运行以下 SELECT。使用 ORDER BY 大约需要 9 秒。

我很清楚,其他一些 SQL 命令(如“”比较运算符)可能会与 ORDER BY 产生相反的作用。

我已经尝试注释掉行,并且可以将性能提高到使用 ORDER BY 的 2-3 秒,但仍然没有 ORDER BY,它更像是不到 1 秒。

有人可以就如何更好地编写此查询、应避免什么等问题给我一些好的建议吗?非常感谢所有建议。

谢谢

【问题讨论】:

  • 能否请您发布 EXPLAIN you query 的结果?结果集中有多少条记录?

标签: mysql select sql-order-by


【解决方案1】:

请尝试:

SELECT * FROM (
  SELECT .. // Your old Query without GROUP BY and LIMIT
  ...  
) AS tmp
ORDER BY heartbeat DESC
LIMIT 120;

【讨论】:

  • @Adam - 为什么要删除 ) 和 ORDER BY.. 这对您的查询很重要?
  • 这个解决方案真的有帮助吗?或者缓存被填充了,所以它似乎更快。
猜你喜欢
  • 1970-01-01
  • 2014-05-27
  • 1970-01-01
  • 2013-09-15
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 2011-02-15
  • 2021-11-02
相关资源
最近更新 更多