我有一个很大的查询来创建一个像临时表但不是临时表的支持表, 在我的查询中创建此表的一个字段是非常有问题的,没有他我在15秒内创建一个包含大量子查询的50k行表。 有了这个字段我就无法运行,我的4gb ram刚刚全部完成并且没有完成查询, 所以我拿出这个字段,我在没有字段的情况下运行查询,创建表格,之后我会运行其他查询只是为了逐个更新。
我的字段查询就是这个:
(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
所以我将此表与fk_produto一起使用,并且我需要将它与此子查询一起加入并获取结果并更新每一行。
所以我在aux表上有这个categorias_texto行,需要用这个查询和#HERE ID#来提供它必须加入aux表和这个子查询
我知道它有点疯狂,但我不知道我怎么能更好地解释。
答案 0 :(得分:2)
使用效率高于JOIN
SUBQUERY
进行尝试
update
tableA as ta
inner join tableB as tb on ta.fk_product = tb.id
set ta.title = tb.title