【发布时间】:2016-05-04 13:37:21
【问题描述】:
我有以下疑问:
SELECT `authors`.email, COUNT(articles.id), SUM(stats.count_stats)
FROM articles
INNER JOIN authors ON articles.id = `authors`.article_id
LEFT JOIN (
SELECT article_id, SUM(count_cited) AS count_stats
FROM article_citations_stats
GROUP BY article_id) AS stats ON articles.id = stats.article_id
GROUP BY `authors`.email
HAVING SUM(stats.count_stats) > 10
表格:
authors has 200 000 rows
articles has 60 000 riws
article_citations_stats has 200 000 rows
查询非常慢。关于如何提高性能的任何想法。
【问题讨论】:
-
请为每个表提供您的架构 (
SHOW CREATE TABLE) -
性能问题应该包括
EXPLAIN ANALYZE和一些关于表大小、索引、当前时间性能、期望时间等的信息。Slow是一个相对术语,我们需要一个真实的值来比较。 MySQL -
explain analyze呢?
标签: mysql left-join inner-join