MySQL:类似查询之间的Rows_examined数字极不一致

时间:2014-04-10 13:01:55

标签: mysql sql

我们有一个相当复杂的查询,我们已经非常仔细地进行了优化。它运作良好,除了不时,它突然比平常花费更多的时间。它似乎与CPU或RAM无关。

我们已经能够找出似乎是问题的东西:查询的慢实例在slow_query.log中显示了一个非常高的Rows_examined数字:

 - Normal execution time: Rows_examined: 140003
 - Slow execution time: Rows_examined: 2265473

然而,查询几乎总是相同的:我们只是稍微调整一个条件,变化无法解释行数的这种变化(我们手动检查)。除了:

 - the slowness occurs fairly randomly.
 - when we "explain" the queries, the output is exactly the same

查询如下所示:

SELECT A2.stuff, B.stuff, C.stuff FROM
    (SELECT A.stuff WHERE ... ORDER BY ... LIMIT ...) A2
STRAIGHT_JOIN B
STRAIGHT_JOIN C
WHERE ...

我道歉:这是一个相当开放的问题。我只是希望有人知道这种行为,并指出我的方向正确。

0 个答案:

没有答案