0

如果我有一张user桌子和一张post桌子,我想统计一个用户今天发了多少帖子,我可以想到两种方法。

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

第二个是有一个表,它countuser_id三列num_posts:日期是今天,或者说 0。datenum_postsdatenum_posts

在我看来,这两种方法都是实用的,但我不是数据库专家,对数据库在后端的工作方式没有太多了解,所以我不确定要采取哪条路线(尽管似乎大多数人都是第一种实现的) ?)。谁能给我一些想法?

4

3 回答 3

3

第二种选择更多余,除非您对第一种有性能问题,否则我不会推荐它。(冗余会导致不一致,这在 rdbms 世界中很糟糕。)

于 2013-10-30T13:59:09.443 回答
2

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

于 2013-10-30T13:58:52.627 回答
0

有一个单独的表来显示职位数量是多余的。您可以通过查询此表或查询 post 表来获得相同的信息。如果您出于性能原因不需要它,请避免这种情况。

于 2013-10-30T14:02:10.157 回答