1

我有一个应用程序,用户可以根据他们执行的操作获得积分——简单的操作得 1 分,困难的操作得 2 分。我希望向用户显示他在我的应用程序中获得的积分总数以及本周获得的积分(从周一午夜开始)。

我有一张记录所有动作的表格,以及它们的时间和点数。

我有两种选择,但我不确定哪个更好:

  1. 每次用户看到报告执行查询并总结用户获得的分数
  2. 为每个用户添加两个字段,记录迄今为止获得的点数(总计和每周)。每周积分值将在每周一午夜设置为 0。

第一个选项更容易,但我担心我会得到很多用户和操作查询将需要很长时间。

第二个选项暴露了操作表和汇总值之间不一致的风险。

我对你认为最好的选择很感兴趣。

谢谢,多里安

4

2 回答 2

0

采取选项一。 稍后扩展

我的想法是每次都采用更简单的方法来查询表,当您的站点上存在如此多的用户而导致服务器速度变慢的问题时,您可以在那个时候切换。如果您的用户太多以至于您的服务器速度变慢,那么您可能还需要扩展应用程序的其他部分,但不要在这些早期阶段竭尽全力扩展您的应用程序。在需要扩展时进行扩展。

我的观点来自 37signals 的书“Getting Real”,第 4 章 - Scale Later http://gettingreal.37signals.com/ch04_Scale_Later.php

于 2010-12-25T08:39:44.547 回答
0

两种解决方案都同样有效。你自己说对了:第一种选择会更容易实现,但每次用户进入分数页面时都需要汇总分数。另一方面,对于第二种选择,您只需要在用户表中添加和维护 2 个附加属性。如果您仔细编程,这几乎不会危及您的应用程序的完整性。

于 2010-12-25T08:54:12.383 回答