【发布时间】:2018-06-08 08:37:24
【问题描述】:
我的查询性能有问题。我有这样的查询更新:
UPDATE table1
JOIN (SELECT table2.a, table2.b
FROM table2
JOIN table3 ON(table2.x = table3.x)
JOIN table4 ON(table4.o = table3.o)
GROUP BY table3.o) table_temp ON(table1.key = table_temp.key)
SET variable = table2.b;
在 MySQL 5.0 中没问题,查询速度很快。但是由于我使用 MySQL 5.7 进行了更改,因此该查询的过程很慢。在 MySQL 5.0 中只需要第二次来处理它们,但在 MySQL 5.7 中,我在几分钟内完成了它。什么是我必须做的?
【问题讨论】:
-
新服务器索引是否与旧服务器索引相同
-
我正在使用完整备份并将其还原到新的 MySQL 版本。
-
你比较过执行计划吗?
-
GROUP BY table3.o... 坏消息是您的查询无效。好消息是,如果您告诉我们查询应该做什么,我们或许能够修复它。 -
请提供
EXPLAIN UPDATE ...,最好是两个版本。
标签: mysql time query-performance