1

我有一个主事实表,其中包含大约 10 个外键。现在我有其他 4 个事实表,它们有 N:1 关系连接到主事实表。问题是,我应该将所有外键复制到这 4 个事实表,还是应该在 SSAS 多维数据集处理期间运行时加入主事实表?

有什么好处和坏处?

4

3 回答 3

0

如果性能是您的目标并且空间不是问题,并且您将在不参考父表的情况下从子事实表进行报告,那么当然,将 FK 添加到其他 FACT 表中,不会丢失任何内容,并且可能会获得一些速度。

但是,如果您在查询相关表时始终包含父事实表,那么没有意义(因为您总是在进行连接并产生这样做的成本)

于 2013-12-12T05:17:51.840 回答
0

似乎我无法在评论中添加换行符。所以我在这里留下评论。
当然。主事实表是
FactTable(PKey, FKey1,FKey2,FKey3,FKey4, Value)
相关事实表如
FactTable1(PKey, FactTable.PKey, ErrorCounter)
FactTable2(PKey, FactTable.PKey, EventCounter)

问题是,我应该将 FactTable1 或 FactTable2 更改为如下结构:
FactTable1(PKey, FactTable.PKey,FactTable.FKey1,FactTable.FKey2,FactTable.FKey3,FactTable.FKey4, ErrorCounter)

于 2012-04-13T07:41:28.213 回答
0

出于什么原因,您希望将所有内容放在一个事实表中?它们在 SSAS 中如何作为度量/组关联。

您是否像现在这样遇到性能问题?如果在单独的表中处理多维数据集需要 5 秒以上,并且需要 5 分钟的 ETL 将其全部加载到一个表中,那么保持原样会更明智。如果是另一种方式,也许将它们全部放在一个事实表中会很好。

如何在 SSAS 中使用 Dim 和 Fact 之间的关系对多维数据集进行建模,不一定必须与关系数据库中的表相互关联的方式相同。

于 2012-04-13T07:50:11.760 回答