2 つのテーブルcompany
とでうまく動作するこのクエリがありますquestion
。両方のテーブルは、次のように構成されています。
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 秒に短縮されましたが、これを改善する必要があります。
ありがとう