【发布时间】:2009-10-29 03:40:30
【问题描述】:
我对处理相对大量表字段的理想方法感到困惑,以及是否应该将它们拆分为单独的关系表。
我有一组用于基于网络的游戏的表格,包含玩家数据、物品数据、类数据等。对于其中的每一个(玩家/物品/类),我还需要记录一个统计数据的数量(即健康、精神、盔甲等)。目前该列表有 25 个统计信息,这意味着这些表中的每一个除了已有的列之外,还有 50 个附加列(类型/值对)。
这开始感觉很麻烦。
另一种方法是将所有统计数据移动到单独的表格中。例如,项目统计信息位于“项目统计关系”表中,ID 链接到项目和统计表。
如果我需要更改统计数据的数量,这将简化表结构并提供灵活性。但是,它也增加了维护数据的复杂性。如果我添加一个新项目,而不仅仅是在项目表中插入一行,我现在必须在“项目统计关系”表中插入更多行以包含它需要的所有统计信息。
是否值得为保持表格简单而付出额外的努力?
编辑:忘记添加我正在考虑的另一个选择:将所有统计信息序列化到 VARCHAR 或 TEXT 列中。这也可以让我灵活地添加任意数量的统计信息(特别是如果我使用 TEXT),并且不会给处理它的代码增加任何复杂性。但是,根据我的阅读,TEXT 块对性能不利,我必须相当频繁地访问它,每次都读取和写入整个块。
【问题讨论】:
-
您熟悉数据库模式规范化吗?
-
并非如此。在谷歌搜索我的问题的答案时,我偶然提到了它,但并不完全知道它的含义。