我目前有一个 MySQL 表设置,它只保存用户的最佳分数。如果他们获得更好的分数,则更新之前的分数。我还想要一个 24 小时排行榜,它只显示最近... 24 小时内发布的分数。
想到两个选择:
1) 每个排行榜有 2 个单独的表格。一个“最佳分数”排行榜,每个用户只保存 1 个分数,一个“24 小时”排行榜,每个用户保存 1 个分数并带有时间戳。这意味着每次提交分数时都需要将其发送到 2 个表而不是 1 个,但与下一个选项相比,数据占用空间将是最小的。
2) 有 1 个表,允许为每个用户发布重复分数,为分数加上时间戳,然后简单地用我需要的数据(总体最佳分数、24 小时内的分数等)查询巨大的分数表。
有什么想法/建议吗?这是我第一次处理 PHP/MySQL,所以我不确定在设计/效率方面最好的方法是什么。