我有2个表:
TABLE A - 1200000行- 14列
我想用其他列值将TABLE A
更新为TABLE A
"地址1 ","地址2"列,但是当我使用查询时,它很慢。
查询时间超过20分钟。
UPDATE [TABLE A]
SET `address 1` = CONCAT("Taiwan",`area`,`road`,`lane`,alley,number),
`address 2` = CONCAT("Taiwan",`area`,`town`,`road`,lane,alley,number);
这个查询很好。但这是缓慢的那么如何优化这个查询呢?
我试着用另一个查询,但那也太慢了。
此图为address1列(使用CONCAT()其他列)
输入图片描述
这张图片是另一列(CONCAT() this to address1)
输入图片描述
你是说
UPDATE A
JOIN B ON ...
SET A.... = B...?
更新100K行需要时间。它将保存每行的旧值,以防出现崩溃。
查看如何将活动聚集成可管理的块:http://mysql.rjweb.org/doc.php/deletebig#deleting_in_chunks