0

我正在写一个简单的手机游戏,最后,玩家的分数和他的玩家ID被上传到云端的数据库中。该数据库维护每个玩家的高分。

上传分数后,游戏(客户端应用程序)会拉取数据库中的所有分数,并计算并显示当前游戏的百分位分数、该玩家的最佳分数以及历史前 20 名玩家的最佳分数。我遇到的问题是,目前数据库中只有几百行,但随着数据库大小的增长,获取所有行并在客户端进行计算将是有问题的。

无论如何我可以以可扩展的方式执行此计算并具有良好的性能?

4

2 回答 2

1

您可以将每个玩家的绝对分数存储在数据库中,并在请求排名时找到最高分数并使用它来确定要显示的每个玩家的百分比。百分位数可以通过将每个玩家的有序索引除以在处理查询结果时注册的所有玩家的数量来确定

所有这些都应该在服务器上的数据访问层中完成(或您拥有的任何等价物)

于 2013-01-03T19:14:06.420 回答
0

我相信你应该在服务器端进行计算

于 2013-01-03T18:52:48.970 回答