我需要优化以下查询。现在,服务器需要1分钟54秒,我需要优化这个查询,使其运行不到1分钟意味着不到60秒
SELECT
a.article_id,
a.provider_id,
a.status,
a.modified_at,
a.published_at,
a.title,
a.summary,
a.image,
GROUP_CONCAT(af.feed_id SEPARATOR ', ') AS feed_id_list
FROM
article a
INNER JOIN article_feed af
ON af.article_id = a.article_id
GROUP BY
a.article_id
ORDER BY
NULL
如何优化此查询,使其能够在60秒内执行?
以下是查询的解释。
id | Select_type | table | type | Possible_keys | key | key_len | ref | rows | extra1|Simple|af|index|primary|primary|7|NULL|1791305|使用索引;使用临时1|simple|a|Eq_ref|primary|primary|4|Feed.af.article_id|1|-
从表中选择everything,加入另一个表并对结果集进行分组。
显然,读取170万行需要一些时间。
因此,唯一的建议是购买更快的存储设备(即SSD),因为您无论如何都需要读取所有数据才能返回结果