有没有必要用一张表单独记录,点赞,评论,转发,收藏总数量?

落后君丶 发布于 2018/10/20 14:15
阅读 603
收藏 0

如题,我有必要这么做么?听说聚合函数特别慢,这样我就不用重新写聚合函数了,只是数据更新的时候需要多操作一张表。纠结ing。每次叫我设计数据库的时候都特别头疼,总感觉选不出最优的方案,老是各种纠结。。。各位大佬有没有数据库设计实战那种书?什么数据库范式之类的理论书就不要推荐了,感觉到头来还是得自己纠结。

加载中
0
DeMoNHaDeS
DeMoNHaDeS

数据库的设计是要结合实际场景,而实际场景有时候确实没有那么容易预估,特别是经验少的时候更加如此。

这个问题评估你要统计的这些量的并发量和统计需求。

总的来说不建议每条更新的时候统计总量,特别是并发量太大的情况不要这么做,同时操作同一条统计记录会导致锁,成为性能瓶颈。如果有统计需求,可以通过定时任务的方式实现,定期统计这些量到统计表中。

砒霜鹤顶红
砒霜鹤顶红
想做实时的需要分流处理
DeMoNHaDeS
DeMoNHaDeS
回复 @落后君丶 : 如果必须用实时的也可以按你的方法统计,但是那张统计的表建议是放在缓存或内存数据库中。在mysql中做实时统计,如果数据量大耗时长,实时也只能代表过去某一时间点上的数据。
落后君丶
落后君丶
回复 @DeMoNHaDeS : 不行不行,回复数量和点赞数量还是要实时的。我还是不多建表了,还是用聚合函数得了。谢谢大哥了。
DeMoNHaDeS
DeMoNHaDeS
回复 @落后君丶 : 通常这种类型的数据不需要实时统计,而且对产品来说意义并不大。按天统计,体现量的变化对产品和需求分析来说更有价值。定时统计时使用聚合函数时间长一些可以接受,因为一般在凌晨执行统计任务。
落后君丶
落后君丶
但是我用定时器它都不是最新的数据.....统计数量要展示的时候还是得用聚合函数.....
0
落后君丶
落后君丶

话说我一个三流程序员,真的干不好数据库设计这么要经验的活,可项目没人,拿着铁锹也要上战场。。。。。经理又是一个乐天派,觉得程序也就那么回事,能跑起来就行。相当难受。

0
落后君丶
落后君丶

我又是一个悲观主义者,老各种担心,到头来发现有时候真的设计过度了,做了很多没必要的事。。。。烦啊!

0
落后君丶
落后君丶

没去过大公司,一直在小作坊里面干活,用的也是别人的轮子,听说大公司有专门的数据库设计人员,不知道是不是真的?其实也想找找正规点的公司了,小公司里全是野路子。但是自己又不是科班出身所以一直很自卑。。。。。

0
落后君丶
落后君丶

以前以为完成功能代码很难写,现在发现完成功能太简单了,因为有一个方向你照着走就行了,而设计是自己定方向然后往下走,设计不好走到坑里自己填。相当痛苦。

0
蓝水晶飞机
蓝水晶飞机

其实帖子的评论数和点赞数,就是一个数字而已,完全可以放缓存或内存里面。

发生【点赞】事件,对应帖子的点赞数+1,发生【取消点赞】事件,对应的帖子点赞数-1,同时数据库异步落地点赞记录。

评论数也是可以类似做法。

蓝水晶飞机
蓝水晶飞机
这样就是逼真实时的数据。
0
l
lawchou
既然是小公司,业务吞吐量应该不大,还达不到考虑性能瓶颈的地步,只要实现需求就行了。
落后君丶
落后君丶
可是没准就火了了?23333,多想想也没坏处,这个项目现在就我一个人,我想尽量以后迭代的时候不要做太多重复的事情,以前也只是做传统项目,现在这个是服务大众的所以还是自己尽量做好。能力不够的话以后再招人迭代把。
返回顶部
顶部