【发布时间】:2012-08-22 10:17:00
【问题描述】:
我们有一个关系数据库 (MySql),其中包含一个存储“Whatever”的表。该表有许多存储不同(逻辑和数据)类型的属性的字段。请求是要添加另外 150 个新的、不相关的属性。
我们当然不想添加 150 个新列。我看到了另外两个选项:
- 添加一个简单的键值表(ID、FK_Whatever、Key、Value 和可能的类型),其中 *FK_Whatever* 引用 What ID,Key 将是名称的财产。使用 JOIN 进行查询是可行的。
- 将一个大文本字段添加到Whatever表中,然后将150个新属性序列化到其中(可能是Xml)。在某种程度上,这将是 NoSql 存储数据的方式。查询这些字段意味着实现一些智能全文语句。
在这两种情况下都失去了类型安全性,但我们实际上并不需要它。
我感觉这个常见问题有一个更聪明的解决方案(由于各种原因,我们无法迁移到 NoSql 数据库)。有人有提示吗?
【问题讨论】: