我的論壇的索引頁看起來是這樣的:MySQL:如何加快這個查詢(包括子查詢)?
| 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`
你將如何加快這個查詢?子查詢的任何替代方法?
在此先感謝!
感謝您的回答,但它不起作用 - 錯誤:#1054 - '字段列表'中的未知列'tc.RowCnt' –
哎呀,忘了在別名中放置別名 – Kickstart