我想要创建数据库表,我可以在其中存储应用程序设置。两个表设计中哪一个更好:
哪两个更适合存储应用程序设置?
祝福
答案 0 :(得分:5)
使用第二种方法。显然它更具可扩展性。当您需要添加更多选项时,永远不需要添加其他列。
如果选项非常有限并且已修复,并且所有数据类型都不同,我只会提倡第一种方法。这是两个区别很大的区域 - 如果你有大量的数字和字符列,你真的没有选择第二个选项,而是将它们全部存储为VARCHAR
。但是,对于行数非常有限并且不会受到大量INSERT
和UPDATE
影响的设置表,这可能不是一个大问题。
您不希望将第二种方法用于需要高度可访问的常规表(不存储大多数静态应用程序设置),或者用于计算,例如,您需要经常需要输入类型转换值才能进行操作他们。
对于不经常访问或修改的静态数据,第二种方法虽然效果很好。
答案 1 :(得分:1)
这实际上取决于这些值的变化频率以及类型的变化:
例如,如果您有许多不同类型的设置数量有限,那么水平布局会更好,因为您可以指定每种类型。但是每当你想要添加一个新的时,你都需要改变这个表。
相反,如果你有许多不同的类型,人们有很多不同的设置安排,甚至你知道未来会继续出现新的,那么第二个列表会更好。但问题是每个值都会遇到varchar(nnn)类型,因此db将无法帮助您进行非常多的输入。