使用包含更多列的更少表或使用更少列的更多表是否更好?
例如,假设我有一个列所在的表 日期,小时,市场,价格
小时仅指一天中的小时(即1-24)。市场是DAM或RTM的三字符代码。价格是追踪的重要价值。
最好是两个表只有三列,其中一个表是市场是DAM的子集,另一个是RTM吗?
另一个想法是使用Date,Hour,DAMPrice,RTMPrice制作表格。考虑到这种方法对大多数选择会更简单,这会是最好的吗?
最常用的SELECT是从RTMPrice中获取DAMPrice的区别,RTMPrice现在可以在同一个表上使用连接。
答案 0 :(得分:1)
从设计角度来看,通常最好将数据规范化以减少冗余。通常这意味着更多的列具有更少的列。
但实际上,如果最小化连接操作的数量,您将获得更好的性能。因此,如果要加快读取速度,可以接受冗余数据。在这种情况下,您将拥有更少列的表。
我建议先选择更好的设计,然后在必要时优化性能。