在我的要求中,网站上的每个用户都可以看到附加到其他用户的分数。它根据他们的配置文件参数进行计算。我给别人的分数将是1分,但他们对我的分数将是另一分。需要数据库中的用户到用户数据。如何避免灾难?
我在MySQL数据库中已经做了迄今为止 表所示:
___UserID1___|___UserID2___|___Score___|___Last_Uopdated___ 1 | 2 | 45 | 1235686744 2 | 1 | 24 | 1235645332
当用户查看某人的页面,如果在数据库中,如果存在这种对记录我的分数类检查不是,计算并记录它。这工作正常,因为没有人会绝对看到网站上的每个用户页面。
现在我需要吸引用户并根据分数进行排序。所以我想,我可以创建一个cronjob,并且每天晚上都运行它,因此它会更新数据库中的分数并为每对用户创建它们。
那么,问题是我正在为超过50万用户计划一个系统,我很担心,它会将我的数据库关闭并创建巨大的数据库。因此,对于500,000我们正在谈论大约250亿条记录...:/
有没有人知道任何其他方式来创建此功能?可以即时计算......或以其他方式计算?
你为什么不在飞行中计算它? – 2012-07-31 06:31:58
为什么用户分数取决于查看用户配置文件的用户?或者用户可以分配个人点给彼此? – 2012-07-31 06:33:40
问:当user1登录时,他究竟看到了什么? 499,999行,为他的“相对”分数给对方用户?或者是什么? – paulsm4 2012-07-31 06:35:43