私のフォーラムのインデックスページは次のようになります。
| Forum | Topics | Answers |
----------------------------
| Forum A | 123 | 45678 |
| Forum B | 345 | 23128 |
| Forum C | 567 | 2328 |
これまでに機能する私のSQLコードは次のとおりですが、もっと良い解決策があるはずだと思います。
SELECT f.`id`, f.`name`, f.`description`, f.`type`,
(SELECT COUNT(`id`)
FROM threads
WHERE `forum_id` = f.`id`) AS num_threads,
(SELECT COUNT(p.`id`)
FROM threads t, posts p
WHERE p.thread_id = t.id
AND t.forum_id = f.id) AS num_posts
FROM `forums` f ORDER BY `position`
このクエリをどのように高速化しますか?サブクエリの代替手段はありますか?
前もって感謝します!