什么更快,选择多行还是多列?

时间:2011-10-07 09:16:46

标签: php mysql

我正在创建发票系统,而我没有创建配置表,其中包含所有系统设置。我很想知道如何插入设置。这就是我想知道的:

配置表(带列)

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

配置表(带行)

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

有什么建议吗?

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

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