关于CONCAT查询这么慢



我有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

最新更新