iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >oracle如何创建、刷新物化视图
  • 375
分享到

oracle如何创建、刷新物化视图

2024-04-02 19:04:59 375人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关oracle如何创建、刷新物化视图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 Create materialized view log

这篇文章将为大家详细讲解有关oracle如何创建、刷新物化视图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Create materialized view log on F_RPT_TASK WITH ROWID    -- 
 ----F_RPT_TASK为表名 ----注:(F_RPT_TASK为表名或者视图名,关于视图上建立物化视图,见基于视图的物化视图 ----创建物化视图语句:
 DROP materialized view log on  F_RPT_TASK

Create materialized view MV_F_RPT_TASK
 ----MVTEST为物化视图名 
Build immediate ----创建时生成数据对应的是build deferred 
Refresh fast ----增量刷新 
On commit ----在基表有更新时提交,这里该句对视图无效
 With PRIMARY KEY ----这里创建基于primary key 的物化视图,要与日志中对应的是 primary key ;若日志为 rowid 则此处必须为rowid
 As 
 Select * from F_RPT_TASK  where RPT_PERioD in (2012,2011) ----生成物化视图数据语句



把物化视图改为nologging模式

alter table MV_VECAM01_2YEARS nologging;

需要权限:GRANT CREATE MATERIALIZED VIEW,还必须直接赋予GRANT QUERY REWRITE. 

创建指定刷新试图:

1.包含SYSDATE/ROWNUM或RAW/LONG RAW数据类型;无法建立On commit方式刷新。

建立时候去掉注释。

Create materialized view log on tecam01 
TABLESPACE CISA_GXPORTAL  
WITH PRIMARY KEY  
 ----tecam01为表名 ----注:(tecam01为表名或者视图名,关于视图上建立物化视图,见基于视图的物化视图 ----创建物化视图语句: 
 
 DROP materialized view log on  tecam01
 drop materialized view MV_vecam01_2years

 
 Create materialized view MV_vecam01_2years
 TABLESPACE CISA_GXPORTAL --保存表空间
 BUILD DEFERRED --延迟刷新不立即刷新
 refresh force --如果可以快速刷新则进行快速刷新,否则完全刷新
on demand --按照指定方式刷新
start with  to_date('07-12-2013 12:00:10', 'dd-mm-yyyy hh34:mi:ss')  
next  sysdate+5/(24*60)  --刷新时间间隔 5分钟一次
-- next TRUNC(SYSDATE+1)+18/24 --刷新时间间隔 隔一天的18点开始
  As 
  SELECT * FROM tecam01  WHERE display_time >  to_char((sysdate- 730),'yyyyMMdd' )  ;

相关资料:

刷新(Refresh):指当基表发生了DML操作后,物化视图何时采用哪种方式和基表进行同步。刷新的模式有两种:ON DEMAND和ON COMMIT。ON DEMAND指物化视图在用户需要的时候进行刷新,可以手工通过DBMS_MVIEW.REFRESH等方法来进行刷新,也可以通过JOB定时进行刷新。ON COMMIT指出物化视图在对基表的DML操作提交的同时进行刷新。刷新的方法有四种:FAST、COMPLETE、FORCE和NEVE*。**ST刷新采用增量刷新,只刷新自上次刷新以后进行的修改。COMPLETE刷新对整个物化视图进行完全的刷新。如果选择FORCE方式,则Oracle在刷新时会去判断是否可以进行快速刷新,如果可以则采用FAST方式,否则采用COMPLETE的方式。NEVER指物化视图不进行任何刷新。默认值是FORCE ON DEMAND。

二、相关参数说明

创建物化视图主要选项说明

创建物化视图时可以指定多种选项,下面对几种主要的选项进行简单说明:

名称 Build Clause 创建方式
描述 包括BUILD IMMEDIATE和BUILD DEFERRED两种
取值 BUILD IMMEDIATE 在创建实体化视图的时候就生成数据
BUILD DEFERRED 在创建时不生成数据,以后根据需要在生成数据
默认 BUILD IMMEDIATE
名称 Query Rewrite 查询重写
描述 包括ENABLE QUERY REWRITE和DISABLE QUERY REWRITE两种。分别指出创建的实体化
视图是否支持查询重写。查询重写是指当对实体化视图的基表进行查询时,Oracle会自动判
断能否通过查询实体化视图来得到结果,如果可以,则避免了聚集或连接操作,
而直接从已经计算好的实体化视图中读取数据
取值 ENABLE QUERY REWRITE 支持查询重写
DISABLE QUERY REWRITE 不支持查询重写
默认 DISABLE QUERY REWRITE

创建实体化试图日志主要选项说明

如果需要进行快速刷新,则需要建立实体化视图日志。实体化视图日志根据不同实体化
视图的快速刷新的需要,可以建立为ROWID或PRIMARY KEY类型的。还可以选择
是否包括SEQUENCE、INCLUDING NEW VALUES以及指定列的列表。

<table border="1" width="661"  font-size:16px;background-color:#ffffff;"="">

名称 WITH Clause
描述  
取值 OBJECT ID 如果是对象实体化视图(object materialized view),
则只能采用该方式
PRIMARY KEY  
ROWID  
SEQUENCE  
默认 PRIMARY KEY

三、举例说明
 1、简单示例

create materialized view MV_except_pattern_ordersrefresh 
Complete on demand     
 start with to_date('2010-11-06 13:20:51','YYYY-MM-DD HH24:MI:SS')
next sysdate+1/(24*60)
 as    select * from v_except_pattern_orders

2、带日志物化视图

--创建物化视图日志
create materialized view log on table1tablespace ts_data --日志保存在特定的表空间
with rowid;--创建物化视图主体
create materialized view MV_LVY_LEVYDETaiLDATATABLESPACE ZGMV_DATA
--保存表空间
BUILD DEFERRED --延迟刷新不立即刷新
refresh force --如果可以快速刷新则进行快速刷新,否则完全刷新
on demand --按照指定方式刷新
start with to_date('24-11-2005 18:00:10', 'dd-mm-yyyy hh34:mi:ss') --第一次刷新时间
next TRUNC(SYSDATE+1)+18/24 --刷新时间间隔
as
as select * from table1;

上面这部分转载自:

https://blog.csdn.net/donGCctv5/article/details/8614887


更新物化视图的刷新方式:

ALTER MATERIALIZED VIEW  t_keyWord_industry_sign
 REFRESH FORCE 
ON DEMAND
WITH  ROWID  
start with sysdate NEXT SYSDATE +30/24 

物化视图的索引的创建:
create  index index_testid  on t_keyword_industry_sign(id);

索引的查询:
select * FROM user_indexes t where t.table_name='NGCC_BEST.T_CONTRACT';

关于“oracle如何创建、刷新物化视图”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: oracle如何创建、刷新物化视图

本文链接: https://www.lsjlt.com/news/63924.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle如何创建、刷新物化视图
    这篇文章将为大家详细讲解有关oracle如何创建、刷新物化视图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 Create materialized view log ...
    99+
    2024-04-02
  • Oracle中怎么创建物化视图
    Oracle中怎么创建物化视图,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 oracle物化视图 一、oracle物化视图基本概念&nb...
    99+
    2024-04-02
  • 12c 物化视图 - 刷新方式的对比
    ...
    99+
    2024-04-02
  • oracle物化视图快速更新
    建立测试表create table T_table nologging as select * from dba_o...
    99+
    2024-04-02
  • mysql中物化视图的快速刷新测试与物化视图日志分析
    本篇内容介绍了“mysql中物化视图的快速刷新测试与物化视图日志分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • oracle如何创建视图
    要创建一个视图,可以使用 CREATE VIEW 语句。以下是一个创建视图的示例:```CREATE VIEW view_name ...
    99+
    2023-08-08
    oracle
  • 12c物化视图中什么是快速刷新
    这篇文章主要介绍了12c物化视图中什么是快速刷新,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实验之前先明确两个定义:主表:SH.costs...
    99+
    2024-04-02
  • oracle中Job怎么定期执行存储刷新物化视图
    本篇内容主要讲解“oracle中Job怎么定期执行存储刷新物化视图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle中Job怎么定期执行存储刷新物化视图...
    99+
    2024-04-02
  • Postgres怎么使用trigger自动刷新物化视图
    这篇文章主要讲解了“Postgres怎么使用trigger自动刷新物化视图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Postgres怎么使用trigge...
    99+
    2024-04-02
  • Oracle12c 中如何理解完全刷新的物化视图工作原理
    Oracle12c 中如何理解完全刷新的物化视图工作原理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么是物化视图?物化视图是用于复制数...
    99+
    2024-04-02
  • oracle如何创建多表视图
    在Oracle中,可以使用`CREATE VIEW`语句来创建多表视图。多表视图是基于多个表的查询结果构建的虚拟表,可以简化复杂的查...
    99+
    2023-08-08
    oracle
  • Oracle物化视图怎么用
    这篇文章主要介绍了Oracle物化视图怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 Oracle物化视图的用法与总结 物...
    99+
    2024-04-02
  • PostgreSQL中如何创建一个新的视图
    在 PostgreSQL 中,可以使用 CREATE VIEW 语句来创建一个新的视图。以下是一个示例: CREATE VIEW m...
    99+
    2024-04-09
    PostgreSQL
  • SQL视图如何创建
    创建SQL视图的步骤如下:1. 选择一个数据库管理工具,例如MySQL Workbench或phpMyAdmin,并登录到数据库服务...
    99+
    2023-10-11
    SQL
  • navicat如何创建视图
    小编给大家分享一下navicat如何创建视图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!下面正式开始1、打开navicat f...
    99+
    2024-04-02
  • Oracle如何使用物化视图查询重写query rewrite
    这篇文章主要介绍了Oracle如何使用物化视图查询重写query rewrite,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ...
    99+
    2024-04-02
  • PostgreSQL中如何创建视图
    在 PostgreSQL 中创建视图可以通过以下步骤: 使用 CREATE VIEW 语句来创建视图,语法如下: CREATE ...
    99+
    2024-04-02
  • Oracle普通视图和物化视图的区别有哪些
    本篇内容主要讲解“Oracle普通视图和物化视图的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle普通视图和物化视图的区别有哪些”吧!物化视...
    99+
    2024-04-02
  • Oracle物化视图管理及重要视图怎么理解
    这篇文章主要讲解了“Oracle物化视图管理及重要视图怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle物化视图管理及重要视图怎么理解”吧!...
    99+
    2024-04-02
  • mysql如何创建一个视图
    要创建一个视图,可以使用以下语法: CREATE VIEW view_name AS SELECT column1, col...
    99+
    2024-04-20
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作