假设我有一个论坛。一个每天可能有100名访客的小型论坛。
最好的方法是通过创建一列num_posts
来存储一个主题的帖子数量,每次用户在该主题中发表帖子时,我只会将这个数字增加一。另一种方式是当用户删除帖子时。或者只是提出一个查询?
SELECT COUNT(*)
FROM posts
WHERE topic_id = thetopicid
我更喜欢第二种。但我想这会影响表现。但是多少钱?这种做法不好吗?
使用count(*)
。拥有这个额外的专栏需要你自己维护,即更新新的和删除的帖子。您需要添加一些额外的东西来实现这一点,这肯定需要额外的资源,而使用count(*)
则是在使用DMBS中已经内置的东西。