gpt4 book ai didi

mysql group_concat 与连接不同,性能非常慢

转载 作者:行者123 更新时间:2023-11-29 16:40:28 38 4
gpt4 key购买 nike

我有以下查询,它产生了我需要的结果,但就大型数据库/表的性能而言,它很糟糕..有人可以指出为什么它这么慢,并向我展示另一种编写它的方法,以便它很快。我花了一个多小时才完成!充足的内存..专用服务器没有太多其他内容。

UPDATE feed.product fp 
LEFT JOIN ( SELECT p.date_upd, p.id_product, GROUP_CONCAT(DISTINCT(CONCAT ('https://www.example.com/', pi.`id_image`,'-x_shop/',pl.link_rewrite,'.jpg')) SEPARATOR ",") AS images
FROM db.products p
LEFT JOIN db.image pi ON (p.id_product = pi.id_product)
LEFT JOIN db.product_lang pl ON (p.id_product = pl.id_product)
GROUP BY p.id_product
) s ON fp.id_product = s.id_product
SET fp.images = s.images
WHERE fp.image_updated = 1;

最佳答案

您可能会发现使用相关子查询会更好:

UPDATE feed.product fp 
SET fp.images = (SELECT GROUP_CONCAT(DISTINCT(CONCAT ('https://www.example.com/', pi.`id_image`,'-x_shop/',pl.link_rewrite,'.jpg')) SEPARATOR ",") AS images
FROM db.image pi JOIN
db.product_lang pl
ON pi.id_product = pl.id_product
WHERE fp.id_product = pi.id_product
)
WHERE fp.image_updated = 1;

如果仅更新 fp 中的少数行,这将特别有用。

关于mysql group_concat 与连接不同,性能非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53370145/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com