哪种系统最适合投票功能?为什么? ;
将投票分开放入数据库表中并计算需要时的平均值
一个产品只有一行。当一个新的投票到来时,获得该投票表格数据库,再次计算并更新记录。例如,我们有产品1的投票记录。它在数据库中的投票总数为326,有45人投了票。然后我们收到一个新的投票,即4和产品1.我们从数据库中取记录,然后执行以下功能;
(326 + 4)/(45 + 1)
然后再次将其保存到数据库,总值为330和46作为投票人。
我总是先选择第一个选项,但我想知道别人在做什么。
答案 0 :(得分:3)
嗯,它总是取决于您想要的有关投票的其他信息。
如果您想知道例如投票趋势(平均上涨或下跌)或您想知道投票相对较旧/新投票或用户投票的情况(每人1票)您希望将每张投票存储在一个单独的表中。
如果您关心的只是最终结果,那么第二种选择会更有效率。
答案 1 :(得分:1)
如果你想压制人们可以投票两次,你仍然需要1-row-per-vote
方法,所以我推荐第一个选项。
第二种选择可能在性能方面更好 - 但如果这是一个问题,那么使用缓存机制很容易。
答案 2 :(得分:0)
有许多因素需要考虑。您是否需要防御攻击应用程序服务器并修改投票计数的人?你是否担心人们的选票可被发现?您是否担心锁定相关的性能问题?所有这些都将影响决策,并且这些决定的答案根据具体情况而有很大差异。