我需要创建test没有数据的物化视图,然后我将创建一个脚本来第一次将数据插入到这个物化视图中。在此之后,我将每晚运行物化视图刷新以刷新视图。
由于我不是物化视图的专家,任何人都可以在这里帮助我。
目前我有脚本来创建物化视图,该视图运行 2 小时,处理 2000 万行。
create materialize view
如果我正确理解了这个问题,您想将 MV 创建分解为单独的步骤:
为此,您可以使用该on prebuilt table子句将普通表更改为物化视图。
演示源码表:
create table demo_source (id, name) as
select 1, 'Red' from dual union all
select 2, 'Yellow' from dual union all
select 3, 'Orange' from dual union all
select 4, 'Blue' from dual;
Run Code Online (Sandbox Code Playgroud)
将成为我们的 MV 的新表(您也可以使用 填充它create table as select,或者您可以像任何普通表一样使用显式列名、数据类型、约束、分区等创建它):
create table demo_mv as
select * from demo_source s
where 1 = 2;
Run Code Online (Sandbox Code Playgroud)
使用单独的insert步骤填充它:
insert into demo_mv
select * from demo_source;
Run Code Online (Sandbox Code Playgroud)
现在我们把它从一个普通的表转换成一个 MV:
create materialized view demo_mv on prebuilt table
as
select * from demo_source;
Run Code Online (Sandbox Code Playgroud)
现在DEMO_MV是物化视图。