问题的简要说明:我创建了一个包含6个维度表和一个事实表的标准启动模式。我需要在事实表中添加一个额外的维度表或一个额外的列。但是,与星型模式中的其他维度不同,我想要添加的最终维度将始终包含在我对数据库进行的每个查询中。我不知道在哪里设计它。
详细说明:
我正在创建星型模式来表示一些非常具体的Google Analytics查询。在一个这样的模式中,我有以下内容:
事实:PageTrafficFact
尺寸:
我需要在PageTrafficFact表中添加一个列,或者在PageTrafficFact表中添加另一个维度来表示Google Analytics View Profile ID(我称之为GAVPID)。尽管所有其他维度可以互换查询,但99.9%的时间,发布到数据库的所有查询都将特定于单个配置文件GAVPID。
虽然我可以将GAVPID作为维度表,但我也没有预见到需要使用它。在每个查询上进行额外内连接的成本似乎过高。我想到的另一种方法是将GAVPID放在PageTrafficFact表本身上。然后,我可以对我正在寻找的确切GAVPID执行更简单的WHERE选择,而不是内部连接每个查询。
不幸的是,我没有经验来确定哪个最好,而且我在Google上搜索一直很困难,因为我不太确定我应该使用哪些关键字来寻找答案。
非常感谢任何帮助或推荐的资源!
答案 0 :(得分:0)
如果不需要为新维度生成“零计数”(也就是说,事实表中的数据在该维度中不稀疏,并且不需要“汇总”该维度,则单独维度表并非绝对必要。
如果在事实表中的附加列上添加WHERE子句满足已知和预期的要求,我只需将该列添加到事实表中。