物化视图(Materialized view)详解

什么是物化视图

物化视图(Materialized View)是一种预先计算和存储的查询结果,类似于数据库中的表。与普通视图不同,物化视图在创建时会将查询的结果物理存储在内存或磁盘上,而不是在查询时动态计算。

物化视图与视图的区别

  • 视图是虚拟的,逻辑存在的,只有定义没有存储数据;
  • 物化视图是真实的,物理存在的,里面存储着预计算的数据;
  • 视图的目的是简化降低查询的复杂度,而物化视图的目的是提高查询性能。

物化视图语法

create materialized view view_name 
[refresh {fast | complete | force } {start with date_exp] 
[next expr] | on demand}]
[enable query rewrite]
as select  select columns1,columns2 from table_name where condition
[with [cascaded | local] check option];
  • create materialized view 是创建物化视图的关键字
  • view_name是创建物化视图的名字
  • refresh是指定物化视图的刷新方式,刷新方式包括 【fast表示只刷新需要更新的数据】【complete表示重新计算整个物化视图】【force表示根据实际需要选择刷新方式】【on demand表示手动触发刷新】
  • start with 表示物化视图第一次刷新的时间点 可以是一个日期表达式(date_exp), 例如 TO_DATE('2022-01-01', 'YYYY-MM-DD')
  • next表示下一次刷新的时间间隔 可以是一个字面量表达式或数值表达式(expr),例如 'SYSDATE + 1' 表示每隔一天刷新一次
  • enable query rewrite是一个可选项 用于启用查询重写功能 以便优化查询性能
  • [with [cascaded | local] check option]是可选项 【用于指定检查约束条件 cascaded 表示检查约束应用于基础表和物化视图 】【local表示检查约束条件是否满足物化视图】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值