2
我有这个查询运行良好的两个表company
和question
。这两个表是结构化的方式如下:提高MySQL查询性能
company | question
id | id
name | company_id
| sentiment
SELECT company.id as company_id, company.name, question.sentiment,
(SELECT count(*) FROM question
WHERE question.sentiment=0 AND question.company_id=company.id) AS count
FROM question
JOIN company ON company.id=question.company_id
WHERE question.sentiment = 0 GROUP BY company_id ORDER BY count DESC LIMIT 5
我一直在试图找出如何才能避免这似乎减缓查询执行的子查询重写这个。 问题表有1000多条记录。 此外,使用索引已将执行时间从545.037秒减少到180.228秒,但仍需要改进。
感谢
尝试“解释”延伸,看到了优化器如何处理它。可能会给你一些关于如何进行的线索。 – ethrbunny
诊断慢查询需要全表和索引定义,而不仅仅是描述或释义。也许你的表格定义不好。也许索引没有正确创建。没有看到表和索引定义,我们不能说。 –