【发布时间】:2021-02-25 12:14:44
【问题描述】:
我是数据库方面的新手,对它们只有非常基本的了解。
我需要保存排行榜的历史数据,但我不知道如何以一种好的方式做到这一点。
我会得到一个 accountName、characterName 和 xp 的列表。
到目前为止我在考虑的选项:
- 我每 10 分钟将他们的 xp 作为另一个条目添加为每个帐户的额外表格(不确定将角色名称放在该选项中的哪个位置)
- 我每 10 分钟向其中添加另一个表的表,其中包含我在该时间间隔内获得的所有数据
我不太确定第一个选项,因为大约有 2000 名玩家我不知道我是否想要拥有 2000 张牌桌(这会有问题吗?)。但我也不觉得第二种选择是个好主意。
【问题讨论】:
-
发明了数据库,因此您不必将数据存储在 2000 个不同的地方。不要那样做。
-
数据库的设计接近于口味问题。但是 2000 个具有相同列的表肯定是一个糟糕的设计:将所有内容放在同一个表中,并为玩家 ID 添加一列。您肯定会在该玩家 id 上添加一个索引以加快对玩家的查询,并在需要时为每个玩家创建一个视图。
-
但是如果我把所有东西都放在一张桌子上,我该如何为每个玩家添加历史数据(每 10 分钟 xp 值)?