Py学习  »  DATABASE

mysql group_concat distinct with joins非常慢的糟糕性能

Jake • 5 年前 • 1653 次点击  

我有下面的查询,它生成了我需要的结果,但是对于大型数据库/表的性能来说,这太糟糕了。有人能告诉我为什么写得这么慢,并告诉我另一种写得这么快的方法吗?我花了一个多小时才完成!足够的内存..专用服务器上没有太多其他的东西。

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;
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46226
 
1653 次点击  
文章 [ 1 ]  |  最新文章 5 年前