【问题标题】:Queries executing very slowly查询执行非常缓慢
【发布时间】:2013-08-20 14:22:43
【问题描述】:

我有一个 sql... 它是一个“SELECT”。我无法展示它,但它有 5 个联合和很多连接(内部和左侧)。我还创建了所有必要的索引。在本地机器上,获得结果只需不到一秒(约 0.5 秒)。但是在服务器上它执行非常非常长的时间。 本地机器和服务器上的数据库是相同的。我最近转储了服务器数据库并将其还原到本地计算机上。 大约 35 分钟前,我启动了这个 sql 的“解释”,它仍在运行。我还在进程列表中看到了“复制到 tmp 表”标签。 所有的表都进行了优化。 我使用 MyISAM 和 InnoDB 引擎进行了测试。 服务器平均负载小于 1,MySQL 也没有负载。

这可能很重要 - 云服务上的服务器。我无法访问云统计信息 - 只需使用服务器即可。

你能给我什么建议?

【问题讨论】:

  • 解释需要 35 分钟? Google MySql 解释慢。
  • 如果解释需要 35 分钟,那么您的服务器或与服务器的连接存在重大问题。
  • 你能显示查询并更改表名/字段等吗?
  • 也许服务器正在执行另一个繁重的操作?
  • 我从服务器启动查询。我不使用远程连接连接到 mysql。我通过 SSH 连接到服务器,然后连接到那台机器上的 mysql 服务器。

标签: mysql sql performance select cloud


【解决方案1】:

我找到了原因。 正如我之前所说(在 cmets 中),我对每个子查询都做了 EXPLAIN,并注意到本地机器上的相同 EXPLAIN 存在一些差异(对于 5 个子查询中的 2 个)。 它通过创建额外的索引来解决。 不同的机器 - 不同的结果。我预计会有一些差异,但我什至无法解释。这很奇怪。只帮助了部分 EXPALIN。

谢谢大家。

【讨论】:

    猜你喜欢
    • 2021-12-09
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    相关资源
    最近更新 更多