oracle - 创建没有数据的物化视图
问题描述
我需要创建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;
将成为我们的 MV 的新表(您也可以使用 填充它create table as select
,或者您可以像任何普通表一样使用显式列名、数据类型、约束、分区等创建它):
create table demo_mv as
select * from demo_source s
where 1 = 2;
使用单独的insert
步骤填充它:
insert into demo_mv
select * from demo_source;
现在我们将它从一个常规表转换为一个 MV:
create materialized view demo_mv on prebuilt table
as
select * from demo_source;
现在DEMO_MV
是物化视图。
推荐阅读
- ms-access - 级联组合框返回空白值
- sql - 为什么替换函数不替换字符串?
- r - 按组拆分一个 plotly boxplot x 轴
- chart.js - ChartJS:在条形图上创建线性 x 轴
- azure - 在 VNET 上的 ACI 上运行的容器无法访问 Internet 地址(出站连接)
- authentication - 将 Postman 与 AWS Cognito 身份验证结合使用
- wildfly-swarm - 带 Hotswap 代理的 Thorntail 可能吗?
- database - 实体框架.net:我需要在 saveChangesAsync 之后调用更新吗
- ibm-information-server - 从 IGC 中提取数据
- python - 使用条件对项进行迭代 Pandas DataFrame 时避免嵌套循环