2009-12-03 79 views
1

将OLAP多维数据集的时间维放在其自己的表中(如其他维度)似乎是常见做法。MySQL OLAP多维数据集中的外部化时间维度?

我的问题是:为什么?

我根本看不到的优点是,可以有,而不必在立方体本身timestamp(int, timestamp)一个time_dimension表中加入了与一些time_id外键的立方体,是什么。

原则上,时间点是不变的,不变的,它们是他们自己的价值。我不认为人们很可能想要改变给定time_id的关联值。

另外,timestamp列类型是4字节宽(在MySQL中),int类型也是如此,否则通常会成为关键字,所以不能节省空间。

在与我的同事们讨论这个问题时,我能够想出的唯一有点合理的论点是符合其他维度。但我觉得这个说法相当薄弱。

回答

3

我认为这通常是因为时间维度表包含许多列,例如周/月/年/季度,这允许更快的查询来获取特定季度的所有X.

鉴于大多数OLAP多维数据集都是为了获取查询而编写的,所以这对我来说很有意义。

1

稻田是正确的,时间维度包含时间基元的有用的“别名”。您可以捕获有关日期本身的有用信息,如季度,国定假日等。您可以使用这种方式编写更快的查询,因为无需在查询中编写每个假期。

相关问题