MySQL查询性能突然降低

时间:2012-11-05 08:20:36

标签: mysql performance

我有一个MySQL(InnoDB)数据库,其中包含行数在1 000 000到5 000 000之间的表。 在晚上有聚合作业,它会计算一些信息并将它们写入报告表。

拳头作业执行速度非常快。每个查询都在100ms和1s之间执行。 在那之后,几乎每一个查询都非常慢。

示例查询是:

SELECT count(*) FROM tableA 
  JOIN tableB ON tableA.id = tableB.tableA_id

该查询的执行计划显示,对于这两个表,将使用索引。

重要的是CPU,I / O,内存使用率非常低。 MySQL服务器版本:5.5.28,默认设置(仅安装在Windows 7开发人员计算机上)。

2 个答案:

答案 0 :(得分:0)

从提供的信息中很难说清楚。我假设你已经完成了EXPLAIN等。在之前的经历中,我的一个查询突然变慢了,我意识到某个字段突然填充了大量数据。而不是使用count(*)可能尝试count(tableA.id)。

查看这是否有助于提供更多信息或提供更多信息。

答案 1 :(得分:0)

也许,它不是真正的查询,而是写入报告表,这很慢。 我会尝试两件事:

  • 衡量报告表的insertupdate的效果
  • 重新安排工作。慢一点,看看第一份工作是否很快,或者首先运行的工作是否快速