我正在做一个在线游戏的爱好项目。该游戏将玩家数据存储在一个大的平面文件中。数据本身包含玩家的所有信息,从名称到玩家本身的物品。它本身就是相当多的列,并且有几十个项目只会增加启动的平面文件大小。
给你一个视觉。我当前的播放器文件是 192 列(不考虑项目)。
球员资料
减少绒毛后,我的平面文件中有 51 列用于播放玩家数据。这不包括玩家的物品或能力。我已经决定可以将它们分成单独的表并与 FK 链接。
51 列数据对玩家来说是唯一的,不应重复。它们不是我被告知的正常化的良好候选者。
桌子
- ID
- 姓名
- 密码
- 种族
- 性别
- 班级
- 等级
- 金子
- 银
- 经验
- 寻求
- 盔甲
- 力量
- 智慧
- 灵巧
- ETC
活动
但是,选择和更新这些列中的一些列时的活动彼此之间有很大的不同。有些在玩家移动时更新,有些在玩家登录游戏并加载到内存时很少使用。记录永远不会被删除或重建。每列都有一个值。活动频率从每秒到每月一次不等。
问题
这就引出了一个问题。如果它们在同一个表中,我是否可以根据活动将这些列拆分并提高性能,而不是传统的数据规范化方式?或者我应该把它们放在同一张表上,只依靠正确的索引?大多数列看起来不错,但就像我说的,有些列比其他列使用得更多。但是,当一些人比其他人更多地使用时,会有很大的不同。这种感觉让我很害怕。