Oracle物化视图或数据仓库中的聚合表

时间:2012-05-16 08:18:04

标签: oracle11g data-warehouse materialized-views

oracle(11g)的物化视图是数据仓库中聚合表的良好实践吗?

我们有DW流程每天替换2个月的数据。有时候它意味着每月几个Gigs(~100K行)。 最重要的是物化视图,在数据传输的夜间循环后刷新。 我的问题是创建聚合表而不是MV会更好吗?

1 个答案:

答案 0 :(得分:1)

我认为聚合表可能有益的一种情况是聚合可以有效地与原子级数据加载相结合,最好用一个例子说明。

假设您每天通过分区交换将大量数据加载到事实表中。使用分区更改跟踪的物化视图刷新将在分区交换期间或之后触发,并且它将扫描修改的分区并将更改应用于MV。

作为要与事实表分区交换的表的一部分,您可以使用CUBE / ROLLUP在各个级别计算聚合,并使用多表插入来加载表然后,您可以将交换分区为一个或多个聚合表。通过避免重新扫描原子级数据,这不仅可以提高效率,还可以在事实表分区交换之前计算聚合,因此如果出现任何问题,您可以暂停修改事实表本身。

其他想法可能会在以后发生......如果其他人有想法,我会将答案作为社区Wiki打开。