2010-11-07 60 views
0

你们能帮我优化这个查询吗?什么是更有效的方法来做到这一点?优化论坛查询

SELECT *, ( 
     SELECT COUNT(id) FROM post WHERE created > 1288953377 AND topic_id = topic.id 
    ) AS post_today FROM topic 
+0

工作的呢? – pavanred 2010-11-07 05:19:29

回答

0

我想这是你需要什么,

SELECT Col1,Col2,Col3, Count(id) from Topic 
LEFT JOIN post on topic_id = topic.id 
where created > 1288953377 
group by id,Col1,Col2,Col3 
+0

这不一样。你失去了今天没有帖子的所有主题。你想使用_LEFT JOIN_而不是_INNER JOIN_。 – Codo 2010-11-07 08:49:43

+0

你说得对。左连接在这里更有意义。编辑我的答案。 – pavanred 2010-11-07 09:40:06