0

有更多列的更少表还是更少列的更多表更好?

例如,假设我有一张表,其中的列是日期、小时、市场、价格

小时仅表示一天中的小时(即 1-24)。市场是一个三字符代码,可以是 DAM 也可以是 RTM。价格是跟踪的重要价值。

将两个表改为只有三列,其中一个表是市场是 DAM 而另一个是 RTM 的子集会更好吗?

另一个想法是用 Date、Hour、DAMPrice、RTMPrice 制作表格。考虑到使用这种方法大多数选择会更简单,这会是最好的吗?

最常用的 SELECT 是从 RTMPrice 中获取 DAMPrice 的差异,RTMPrice 现在适用于同一张表上的连接。

4

1 回答 1

1

从设计的角度来看,通常最好对数据进行规范化以减少冗余。通常这意味着更多的表和更少的列。

然而,在实践中,如果您将连接操作的数量降至最低,您将获得更好的性能。因此,如果您想加快读取速度,拥有冗余数据可能是可以接受的。在这种情况下,您将拥有更少的表和更多的列。

我建议先选择更好的设计,然后在必要时优化性能。

于 2012-12-09T01:46:11.117 回答