需要有关更新查询的帮助,该查询的时间太长了,最终超时了,我要更新的表objetive(012019)有1,5百万行,而带有数据源(january2019)的表有约54k行,都具有37列,我需要更新31列。 其结构类似于:
ID,X1,X2,X3,X4...X37
其中ID为整数和列小数的
为了进行测试,我尝试仅更新列X6
之一,但失败。
而且我需要从X6 TO X37
更新所有文件,因此更新时间很长。
我尝试过:
UPDATE 201901
JOIN(SELECT * FROM january2019) FQUERY ON 201901.ID = FQUERY.ID
SET 201901.X6 = FQUERY.X6;
答案 0 :(得分:0)
不要使用子查询,这可能会阻止它使用表的索引。
UPDATE 201901
JOIN january2019 AS fquery ON 201901.ID = FQUERY.ID
SET 201901.X1 = FQUERY.X1,
201901.X2 = FQUERY.X2,
201901.X3 = FQUERY.X4,
201901.X4 = FQUERY.X4,
201901.X5 = FQUERY.X5,
201901.X6 = FQUERY.X6,
...