我有一个很大的查询来创建一个像临时表但不是临时表的支持表, 我创建此表的查询中的一个字段非常有问题,如果没有他,我会在 15 秒内创建一个包含大量子查询的 50k 行表。 有了这个字段我就无法运行,我的 4GB 内存已经全部耗尽并且无法完成查询, 所以我取出了这个字段,然后在没有该字段的情况下运行查询,创建表,然后我将运行其他查询来一一更新。
我的字段查询是这个:
(select GROUP_CONCAT(nome) from con_classificador where FIND_IN_SET(id,(SELECT CONCAT(GROUP_CONCAT(fk),GROUP_CONCAT(pac.fk_classificador))
FROM prod_assoc_classificador AS pac
LEFT JOIN con_classificador AS cc4 ON pac.fk_classificador = cc4.id
where pac.fk_produto = #HERE ID#)) and id != 7) AS categorias_texto
所以我有这个表 aux 和 fk_produto,我需要将它与这个子查询连接起来并获取结果并更新每一行。
所以我的 aux 表上有这个 categorias_texto 行,需要使用这个查询和 #HERE ID # 来提供它,它必须连接 aux 表和这个子查询
我知道这有点疯狂,但我不知道如何更好地解释。
最佳答案
尝试使用比SUBQUERY
更高效的JOIN
update
tableA as ta
inner join tableB as tb on ta.fk_product = tb.id
set ta.title = tb.title
关于mysql - 对于每一行进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19427843/