3

哪个系统最适合用于投票功能,为什么?;

  • 将投票分别放在数据库表中,并在需要时计算平均值

  • 一种产品只有一排。当新的投票到来时,获取该投票表格数据库,再次计算并更新记录。例如,我们有一个产品 1 的投票记录。它的投票在数据库中总共有 326 人,有 45 人投票。然后我们收到一个新的投票,即 4 和产品 1。我们从数据库中获取记录,然后执行以下功能;

(326 + 4) / (45 + 1)

然后将其再次保存到数据库中,总价值为 330 和 46 作为投票的人。

我总是选择第一个选项,但我想知道其他人在做什么。

4

3 回答 3

3

好吧,这始终取决于您想要获得有关投票的其他信息。

如果您想知道例如投票趋势(平均值是上升还是下降),或者您想知道投票相对较旧/较新或用户投票的情况(每人 1 次投票) ) 等等等等等等。您希望将每个投票存储在一个单独的表中。

如果您只关心最终结果,则第二种选择更有效。

于 2011-06-05T20:20:43.773 回答
1

如果你想压制人们可以投票两次1-row-per-vote,那么无论如何你都需要这种方法,所以我推荐第一个选项。

第二种选择在性能方面可能更好——但如果这成为问题,使用缓存机制很容易。

于 2011-06-05T20:20:15.907 回答
0

有很多因素需要考虑。您是否需要防御有人攻击您的应用程序服务器并修改投票计数?您是否担心人们的选票会被发现?您是否担心与锁定相关的性能问题?所有这些都会影响决策,而这些问题的答案因具体情况而异。

于 2011-06-05T20:41:17.443 回答