周排行榜如何实现可查看历史数据的功能
说一下背景和需求
一个小游戏项目,用户玩游戏会获得积分,排行榜是用玩家单局最高游戏积分进行排名的。每周结算一次,需要实现的功能是玩家可以看到他在每一周的排名。比如第一周他排名105,第二周排名57.
注:玩家的分数是不清零的,比如第一周玩家A最高分是500,第二周没刷新记录的话,那么玩家A的最高分还是500,并且还是用500进行排名
目前的方案
目前我采用的方法是分表存储每一周的排名,然后写了一个结算的脚本。在每周日的零点执行结算。(结算脚本就是把本周排行榜玩家的分数迁移复制到下周的排行榜表里,如果玩家最大分数变化了会自动更新排行榜表里的分数)
我的疑问
采用分表感觉不是很好的方案,因为周期越多,意味着表的数量也越多。项目运行个一年就得四五十张表(还只是排行榜)所以特别想知道有没有好的方案,大家都是怎么做的呢?如果能提供一些思路的话,不胜感激!!!
补充
第一次提问,虽然已经看过了《提问的智慧》,但还是可能会有疏忽的地方,如果您愿意回答我的问题,并且需要我提供些什么。请留言,我看到会第一时间回复。
推荐文章: