我正在写一个简单的手机游戏,玩家的得分和他的playerid被上传到云中的数据库。该数据库保持每个玩家的高分。
在上传得分后,游戏(客户端应用程序)会下拉数据库中的所有分数,并计算并显示当前游戏的百分位数分数,此玩家的最佳分数以及有史以来最高分20的最佳分数玩家。我遇到的问题是,目前数据库中只有几百行,但随着数据库大小的增加,获取所有行并在客户端进行计算将会出现问题。
我是否可以以可扩展的方式执行此计算并获得良好的性能?
答案 0 :(得分:1)
您可以将每个玩家的绝对分数存储在数据库中,并在请求排名时找到最高分并使用该分数来确定每个玩家要显示的百分比。百分位数可以通过将每个玩家的有序索引除以您处理查询结果时注册的所有玩家的数量来确定
所有这些都应该在服务器上的数据访问层(或者你拥有的任何等价物)中完成
答案 1 :(得分:0)
我相信你应该在服务器端进行计算