首选表结构

时间:2016-08-05 15:34:08

标签: mysql

我正在处理涉及大量数据的程序,并且我想知道最好的表格结构是什么。

我的想法是将玩家的所有统计信息保存在数据库中。名为stat_type的统计信息可以更改,这意味着可以在某个点添加新的stat_type

这个结构是我的第一个想法。

列:int playerID, VARCHAR stat_type, DOUBLE stat_value

示例行将是:1, "kills", 15

这个结构是我的第二个想法。

使用此结构,可能会在某个点添加新列。这种结构比前一个结构需要更少的行,但最后会有更多的列。

列:int playerID, DOUBLE kills

示例行将是:1, 15

这些结构中的哪一个会更好地表现?

1 个答案:

答案 0 :(得分:0)

Option1就是你想要的。您可以在不更改数据库设计或应用程序逻辑的情况下添加以后需要的任何统计信息。

当您更改架构时,您必须测试连接到该表的所有内容,在这些更改之后仍然有效,大人物噩梦。

使用option1的示例:可以添加新的统计信息而无需更改代码

data = getdata_from_db();
foreach item in data
{
  <th> item.stat_type </th>
}

使用option2的示例:如果添加新的统计信息需要更新您的代码以包含该统计信息

data = getdata_from_db();
<th> item.needKnowFieldName1 </th>
<th> item.needKnowFieldName2 </th>
<th> item.needKnowFieldName3 </th>