2013-10-30 41 views
0

如果我有一个user表和post表,并且我想要计算用户今天发布的帖子数,我可以考虑两种方法。数据库中的计数记录和计数器变量之间的差异

第一个是发送一个SQL查询来计算今天创建了多少个属于userpost记录。

二是有一个count表中,有三列:user_idnum_posts,并date,这样,当用户发出的帖子,num_posts递增,如果date今天,或者干脆设置为1,而当我们需要统计帖子,如果日期是今天,或者说0,我们简单地检索num_posts

在我看来,这两种方法都是实用的,但我不是没有太多关于DB如何在后端,所以我不确定采用哪条路线(尽管大多数人似乎都是第一个实施的)。任何人都可以给我一些想法吗?

回答

2

如果系统中的用户和帖子数量不是太多,第一个应该没问题。但是,如果用户和帖子太多,您可能需要考虑第二种选择,因为速度会更快。缺点是它需要更多空间来存储数据。

3

第二种选择更加多余,我不会推荐它,除非你有第一个性能问题。 (冗余可能会导致不一致,这在rdbms世界是不好的。)

0

要有一个单独的表的帖子数量是多余的。通过查询此表或查询帖子表,您可以获得相同的信息。避免这种情况,如果您因性能原因而不需要它。

相关问题