天涯社区这种收藏提示更新了多少帖子在数据库上应该如何设计?

shinebay
  • 2k

如图:
图片描述
我收藏的帖子后面显示该帖子楼主又更新了多少帖子,点击该帖子后,该帖子“新增帖子数”置零。
假设以“三十三岁,16年股龄,记录自己的心情”为例,楼主更新了该帖子后,是不是要在"tianya_collections"这个数据表所有关注该帖子的人都要在"update_num"这个字段下面都要+1?感觉这样效率有点低下吧,有没有更好的数据库设计方式?
我能想到的数据库设计:tianya_collections


id tiezi_id uid update_num


回复
阅读 3.4k
2 个回答
bf
  • 8k

一種思路是以收藏者爲參考系,收藏者維持一個變量,隨着目標的變化而變化,每看一次都清零;

另一種是以目標爲參考系,目標變化只需要自顧自地變化,收藏者也只需要維護自己看的時候目標是多少。
等再看的時候,一對比,自然就得出收藏者參考系的變量。

原帖的数据库 -> 原帖的总帖数 A
本人的收藏夹数据库 -> 本人已浏览的帖数 B

当本人刷新收藏夹页面时,服务器得到A、B, 再用A-B

宣传栏