MYSQL从另一个表更新多列

时间:2019-05-17 00:43:04

标签: mysql

需要有关更新查询的帮助,该查询的时间太长了,最终超时了,我要更新的表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;

1 个答案:

答案 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,
    ... 
相关问题