MySQL 慢查询 - 排序依据

标签 mysql select sql-order-by

如果我在最后删除 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/

相关文章:

php - 在 1 个查询中将数据插入到 3 个表中

c# - 是否可以在 C#/LINQ 中扩展查询关键字?

mysql - 按日期排序和连接两个表

php - mysql php 无法获取外键值

MySQL 查询中的 PHP 变量从列表爆炸

javascript - 对选择元素选项进行排序并保留焦点

mysql - 删除MySQL数据库中的宽度高度属性值

mysql - 存储在 varchar 字段中的整数值,在排序时给出不同的结果

MySQL ORDER BY 两个字段条件

Mysql自己的顺序保存在一个列中