哪一个更适合投票功能

时间:2011-06-05 20:09:12

标签: c# asp.net sql-server voting voting-system

哪种系统最适合投票功能?为什么? ;

  • 将投票分开放入数据库表中并计算需要时的平均值

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

  

(326 + 4)/(45 + 1)

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

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

3 个答案:

答案 0 :(得分:3)

嗯,它总是取决于您想要的有关投票的其他信息。

如果您想知道例如投票趋势(平均上涨或下跌)或您想知道投票相对较旧/新投票或用户投票的情况(每人1票)您希望将每张投票存储在一个单独的表中。

如果您关心的只是最终结果,那么第二种选择会更有效率。

答案 1 :(得分:1)

如果你想压制人们可以投票两次,你仍然需要1-row-per-vote方法,所以我推荐第一个选项。

第二种选择可能在性能方面更好 - 但如果这是一个问题,那么使用缓存机制很容易。

答案 2 :(得分:0)

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