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


Have a column "num_posts" or querying the database

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

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

SELECT COUNT(*) 
FROM posts 
WHERE topic_id = thetopicid

我更喜欢第二种。但我想这会影响表现。但是多少钱?这种做法不好吗?

使用count(*)。拥有这个额外的专栏需要你自己维护,即更新新的和删除的帖子。您需要添加一些额外的东西来实现这一点,这肯定需要额外的资源,而使用count(*)则是在使用DMBS中已经内置的东西。

相关文章: