在MySQL中存储配置文件数据的最佳实践

时间:2015-02-26 14:17:25

标签: mysql database

我正在编写服务器应用程序。许多用户将连接到此服务。应用程序将每个用户的配置文件数据存储到MySQL DB。我不是数据库方面的专家,所以在这里提出这个问题。

个人资料有很多字段。最直接的方法是在数据库表中为每个字段中的每个字段添加一列。

但我不确定这是否是最佳做法。将来,如果配置文件中添加了更多字段,则必须更改表模式。此外,对于配置文件中的许多字段创建那么多列(只是为了存储配置文件数据+表中会有许多其他列用于许多其他数据)会使表格混乱。

作为替代方案,我可以考虑将所有配置文件数据存储在一列中。但不知道该怎么做。特别是在单列分界字段中将是具有挑战性的。有没有办法在MySQL中创建嵌套列?

还有其他更好的选择吗?

2 个答案:

答案 0 :(得分:1)

拥有多列配置文件或单列配置文件都有效,但这取决于您查询数据的方式。

如果您需要在数据库端查询您的配置文件信息(即使用SQL),您应该选择多列配置文件。

如果您从不(我强调永远不会故意),您可以选择单列配置文件。但在这种情况下,这意味着你永远不能查询信息,甚至连同一个表上的连接都不能查询。

我会选择多列,因为您永远不知道将来需要什么。

答案 1 :(得分:1)

Oracle支持嵌套表: http://www.orafaq.com/wiki/NESTED_TABLE,但我不推荐它,因为它会破坏First Normal Form (1NF)

  

每个行 - 列交集都只包含适用域中的一个值(没有别的)。