在一个表中创建额外的列与使用外键创建新表

时间:2015-10-29 04:54:20

标签: database sqlite database-design

我有一个SQLite数据库,其中包含一个包含11列的表,包括8列Text,其中包含很长的字符串。我需要再添加8个Text列,这些列可能会也可能不会获得长字符串值。

所以我想知道是否应该将这8个额外的列添加到当前表中,还是创建一个包含外键的新表?

如果我想使用某些查询来搜索数据库中的数据,哪种方式更好?

谢谢。

2 个答案:

答案 0 :(得分:1)

您应该在现有表中添加8个列。尝试理解database normalization如果您的数据库是多余的,只需添加一个新表。

答案 1 :(得分:1)

这取决于。如果此表上存在现有查询,并且如果他们执行了"选择*"要获取所有列,查询将在重新评估星号时更改。这可能会也可能不会破坏依赖于查询的软件。 有一种解决方法,包括创建一个包含旧列和新列的新表,然后创建一个包含旧表的名称和列的视图。这种解决方法也有缺点。

正如sadfiesch评论的那样,这里没有规范化问题。

就性能而言,有些情况可以采用两种方式,也可能没有太大差异。