千家信息网

Oracle物化视图怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了Oracle物化视图怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Oracle物化视图的用法与总结物化视图(m
千家信息网最后更新 2026年11月02日Oracle物化视图怎么用

这篇文章主要介绍了Oracle物化视图怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Oracle物化视图的用法与总结

物化视图(material view)是什么?

物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。

物化视图存储基于远程表的数据,也可以称为快照(类似于MSSQL Server中的snapshot,静态快照)。对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的。

如果你想修改本地副本,必须用高级复制的功能。当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取。

对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图。(这个是基于本地的基表或者视图的聚合)。

物化视图,说白了,就是物理表,只不过这张表通过oracle的内部机制可以定期更新,将一些大的耗时的表连接用物化视图实现,会提高查询的效率。当然要打开查询重写选项;

Material View的主要作用

1. 实现两个数据库之间的数据同步,可以存在时间差。

2. 如果是远程链接数据库的场景时,提高查询速度。

(由于查询逻辑复杂,数据量比较大,导致每次查询视图的时候,查询速度慢,效率低下)

物化视图的刷新方式和方法

1. 刷新的方式

Fast

Complete

Fource

2. 刷新的方法

DBMS_REFRESH.Refresh

DBMS_MVIEW.Refresh

EXEC DBMS_MVIEW.refresh('BXJ_OBJECTS_MV_T1','C');EXEC DBMS_REFRESH.refresh('REP_MVIEWGROUP');  物化视图的刷新方式和方法  (1).在源数据库建立mview log日志文件

create materialized view log on w_1 ;

----注:(TEST为表名或者视图名,关于视图上建立物化视图,见基于视图的物化视图

----创建物化视图语句:

(2).在统计数据建立materializad view 语法

Create materialized view MV_TEST

----MVTEST为物化视图名

Build immediate

----创建时生成数据对应的是build deferred

Refresh fast

----增量刷新

On commit

----在基表有更新时提交,这里该句对视图无效

With rowid

----这里创建基于rowid的物化视图,对应的是 primary key

As

Select * from TEST;

----生成物化视图数据语句

或者

    CREATE MATERIALIZED VIEW MV_TableName        BUILD IMMEDIATE      --创建时立即刷新         REFRESH FORCE        --如果可以快速刷新则进行快速刷新,否则完全刷新         ON DEMAND            --刷新方式         START WITH SYSDATE   --第一次刷新时间         NEXT  SYSDATE+1/12   --刷新时间间隔         AS SELECT 1 id 'A' name FROM dual;

(3).调用时进行刷新

dbms_refresh.refresh('W_1')

创建物化视图 CREATE MATERIALIZED VIEW bxj_objects_mv_t1 REFRESH FAST AS SELECT * FROM apps.bxj_objects_t1;CREATE MATERIALIZED VIEW bxj_objects_mv_t2 REFRESH FORCE AS SELECT * FROM bxj_objects_t2;CREATE MATERIALIZED VIEW bxj_objects_mv_t3 REFRESH COMPLETE AS SELECT * FROM bxj_objects_t3; ON DEMAND和ON COMMIT物化视图的区别 ON DEMAND和ON COMMIT物化视图的区别在于其刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图"需要"被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;而ON COMMIT是说,一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。 物化视图是物理表的么? 1) 物化视图在某种意义上说就是一个物理表(但并不仅仅是一个物理表),这通过其可以被user_tables查询出来,而得到佐证;2) 物化视图也是一种段(segment),所以其有自己的物理存储属性;3) 物化视图会占用数据库磁盘空间,这点从user_segment的查询结果,可以得到佐证。

查询物化视图上次刷新时间

SELECT last_refresh_date      FROM user_mviews     WHERE mview_name = 'MV_TABLENAME';

感谢你能够认真阅读完这篇文章,希望小编分享的"Oracle物化视图怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

视图 数据 查询 数据库 物理 副本 方式 方法 时间 篇文章 更新 生成 一致 佐证 图名 就是 快照 效率 结果 语句 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小米移动互联网科技园 广东万易互联网科技有限公司惠州分公司 新华互联网科技 互联网科技巨头监管 互联网科技公司电话 互联网金融科技创新 百单互联网科技有限公司 互联网科技英文翻译 科技伦理 互联网公司 科技与互联网的利与弊 青岛中康互联网医疗科技有限公司 互联网科技寓意 茂名市互联网科技产业园 栖莱科技互联网股份有限公司 厦门比较好的科技互联网公司 移动互联网科技公司 阿里互联网科技企业 半导体行业属于互联网高科技类吗 科技互联网企业在行动 科技发展第三阶段互联网时代 天津市摩尔互联网科技 云信互联网科技有限公司 猪兼强互联网科技 互联网 卓越科技 友谊互联网络科技 速维有品互联网信息科技(苏州)有限公司 米聚互联网科技南京有限公司排面 互联网科技扶贫时间 广东鹅鹅鹅互联网科技有限公司 银川新华互联网科技学校招聘
0