有一列“num_posts”或查询数据库

时间:2013-06-26 23:23:13

标签: php mysql

假设我有一个论坛。一个小型论坛,每天可能有100名访客。

最好的方法是通过创建列num_posts来存储主题所拥有的帖子数量,并且每次用户在该主题中发帖时我只会将该数字增加一个。而另一种方式是当用户删除帖子时。或者只是进行查询?

SELECT COUNT(*) 
FROM posts 
WHERE topic_id = thetopicid

我更喜欢第二个。但是当然我猜它会影响性能。但是多少钱?这是不好的做法吗?

1 个答案:

答案 0 :(得分:1)

使用count(*)。拥有该额外列需要您自己维护,即更新新帖和已删除的帖子。你需要添加额外的东西才能做到这一点,这肯定需要额外的资源,而使用count(*)你正在使用已经内置于DMBS的东西。