Oracle-物化视图

Oracle物化视图是一种本地数据副本,用于提高查询效率。文章介绍了创建物化视图、权限需求、刷新方式及常见错误及解决办法。创建时需注意物化视图日志的创建,刷新包括手动和自动。遇到如ORA-12014等错误,可能因主键缺失或权限不足等,需相应调整。

Oracle物化视图
物化视图是一个包括查询结果的对象,它是远程数据的本地副本,或者用来生成基于数据表求和的汇总表。它其实本质上就是一张物理表,只不过这张表可以通过oracle的内部机制定期更新,将一些大的耗时的表连接用物化视图实现,会提高查询的效率。

创建物化视图

create materialized view [view_name] 
refresh [fast|complete] 
[ 
on [commit|demand] | 
start with (start_time) next (next_time) 
with primary key| rowid    
for update    
]
as
select Statement ;

创建物化视图日志

create materialized view log on master table [with rowid | primary key];

物化视图日志的创建是基于主表的,分为基于rowid的和primary key 的,默认是基于PK的。
注:带有group by和多表关联查询的物化视图其主表对应的物化视图日志只能是rowid的

需要的权限

grant create materialized view to user_name;
grant create any table to user_name;
grant select on mv_name to user_name;

物化视图的刷新

物化视图的刷新分为手动刷新个自动刷新两种方式。
1. 手动刷新

BEGIN
   dbms_mview.refresh( '物化视图名称',
                       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值