【发布时间】:2012-01-26 20:23:16
【问题描述】:
我需要优化以下查询。现在,服务器需要 1 分 54 秒,我需要优化此查询以运行不到一分钟意味着不到 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 |extra 1 |简单 | af |index |primary |primary|7 |NULL |1791305|使用索引;使用临时 1 |简单 | a |Eq_ref|primary |primary|4 |Feed.af.article_id| 1 | -【问题讨论】:
-
1.54 秒小于 60 秒。恭喜,你做到了!
-
好的,我错过了什么吗?服务器上的 1.54 秒小于 60 秒...article_feed 表是否在 article_id 上有索引?有多少篇文章(大约),有多少篇文章供稿......
-
EXPLAIN SELECT ...说什么? -
为了优化,我们需要查询(检查)、模式和解释,但由于我们没有数据,这仍然是一种反复试验。
-
我已经更新并附上了查询的解释。 zerkms:这不是 1.54 秒,而是 1 分 54 秒。
标签: mysql optimization solr