提交联合所有物化视图(在 Oracle 中)时是否快速刷新会复制所有底层数据,还是只是对它的引用?
如果这个物化视图确实复制了所有数据,那么无论如何都要执行以下操作:
create table3 as ( table1 union all table2 );
这样我就可以在table3上创建索引和物化视图日志,而表3只是对表1和表2的引用。
这样做的原因是我想将以下内容放在物化视图中:
create materialized view mat1
refresh fast on commit
(
select data, count(*)
from (table1 union all table2)
group by data
);
但以上内容不能快速刷新。
但是下面的事情是有效的:
create materialized view mat1
refresh fast on commit
(
select data from table1
union all
select data from table2
);
create materialized view mat2
refresh fast on commit
(
select data, count(*)
from mat2
group by data
);
但我担心第一个物化视图会不必要地复制所有数据。