2011-10-07 56 views
1

我正在创建一个发票系统,我没有在所有系统设置所在的位置创建配置表。我很奇怪如何插入设置。这里就是我想知道:速度更快,选择多行还是多列?

配置表(带柱)

config1 config2 config3 config4 
------------------------------- 
1  2  gtm  2 

配置表(带行)

config  value 
----------------- 
config1  1 
config2  2 
config3  gtm 
config4  2 

任何建议?

回答

4

第二个选项对于数据结构的目的要好得多,它允许更复杂的查询(如果你曾经想要使用#1选项加入),数据挖掘等。它还允许更好的可扩展性,你应该查看作为数据分母的列,而您的行是RAW信息。如果没有列标题,您将无法自行解释原始数据和/或其可变性。

看一下它是这样的,一方面 - 如果你想添加一个新的配置 - 在选项#1中这么做的开销不如选项#2那么实用。您需要在表中添加一个新列,然后(有可能)更新引用表的所有SQL语句,以了解是否有新列。如果在选项#2中添加一个新配置,它只是一个新行,您的表结构保持不变,所以您在代码中的实现保持不变。

+0

谢谢,在这种情况下我会选择2) – user962449

1

您应该使用带有行的配置。我不确定这是否更快,但如果您想扩展配置,则不必为每个配置值添加列。