私が取り組んでいるプログラムは、複雑なMySQLクエリを使用して、一致するアイテムIDを持つ複数のテーブルからの情報を結合します。ただし、以下に示すサブクエリを追加したため、クエリの実行にかかる時間は1秒未満から3秒以上になりました。このクエリをより高速に最適化するために私ができることについて何か提案はありますか?複雑なクエリを1つ持つ方が、小さなクエリを4つまたは5つ持つよりも優れていると考えるのは間違っていますか?
SELECT uninet_articles.*,
Unix_timestamp(uninet_articles.gmt),
uninet_comments.commentcount,
uninet_comments.lastposter,
Unix_timestamp(uninet_comments.maxgmt)
FROM uninet_articles
RIGHT JOIN (SELECT aid,
(SELECT poster
FROM uninet_comments AS a
WHERE b.aid = a.aid
ORDER BY gmt DESC
LIMIT 1) AS lastposter,
Count(*) AS commentcount,
Max(gmt) AS maxgmt
FROM uninet_comments AS b
GROUP BY aid
ORDER BY maxgmt DESC
LIMIT 10) AS uninet_comments
ON uninet_articles.aid = uninet_comments.aid
LIMIT 10