oracle(11g)的物化视图是数据仓库中聚合表的良好实践吗?
我们有数据仓库流程,每天替换2个月的数据。有时,这意味着每个月只有几场演出(大约100K行)。在它们之上的是在夜间数据传输周期之后被刷新的实例化视图。我的问题是,创建聚合表比创建MVs更好吗?
发布于 2012-05-18 17:38:19
我认为聚合表可能有好处的一种情况是,聚合可以与原子级数据负载有效地组合在一起,最好的例子是说明这一点。
假设您每天通过分区交换将大量数据加载到事实表中。使用分区更改跟踪的实体化视图刷新将在分区交换期间或之后触发,它将扫描已修改的分区并将更改应用于MV。
作为要与事实表分区交换的表的填充的一部分,您还可以使用CUBE/ROLLUP计算各个级别的聚合,并使用multitable insert加载表,然后可以将这些表分区交换到一个或多个聚合表中。这不仅通过避免重新扫描原子级数据从本质上提高了效率,而且聚合是在事实表分区交换之前计算的,因此如果出现任何错误,您可以暂停对事实表本身的修改。
其他的想法可能会在以后发生。如果其他人有想法,我会将答案开放给社区维基。
https://stackoverflow.com/questions/10614538
复制相似问题