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( '物化视图名称',

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

5万+

被折叠的 条评论
为什么被折叠?



