`

物化视图的简单应用

阅读更多

1.创建示例表

 

create table t1(t11 varchar2(10),t12 varchar2(10),t13 varchar2(10));
alter table T1
  add constraint pk_t11 primary key (T11);  --主键是必须地,后面用得到
insert into t1(t11,t12,t13) values ('a1','aa','aaa') ;
insert into t1(t11,t12,t13) values ('a2','aa','aaa') ;
insert into t1(t11,t12,t13) values ('a3','aa','aaa') ;
insert into t1(t11,t12,t13) values ('a4','aa','aaa') ;
insert into t1(t11,t12,t13) values ('a5','aa','aaa') ;
insert into t1(t11,t12,t13) values ('a6','aa','aaa') ;
commit ;
create table t2(t21 varchar2(10) ,t22 varchar2(10),t23 varchar2(10));
alter table T2
  add constraint pk_t21 primary key (T21);  --主键是必须地,后面用得到
insert into t2(t21,t22,t23) values ('a1','bb','bbb') ;
insert into t2(t21,t22,t23) values ('a2','bb','bbb') ;
insert into t2(t21,t22,t23) values ('a3','bb','bbb') ;
insert into t2(t21,t22,t23) values ('a4','bb','bbb') ;
insert into t2(t21,t22,t23) values ('a5','bb','bbb') ;
insert into t2(t21,t22,t23) values ('a6','bb','bbb') ;
commit ;

 

2.创建物化视图以物化视图日志

 

例1(个人推荐使用).
/*
要想实时刷新并且是增量刷新必须创建物化视图日志,
因为物化视图是根据日志与基表进行沟通的,
创建物化视图日志的前提是必须在基表中建立主键
*/
CREATE MATERIALIZED VIEW LOG ON t1 ; 
CREATE MATERIALIZED VIEW LOG ON t2 ;

--创建物化视图
create materialized view MV_T  --物化视图名称
TABLESPACE JWZH --保存表空间  
BUILD DEFERRED --延迟刷新不立即刷新  
refresh force --如果可以快速刷新则进行快速刷新,否则完全刷新  
on demand --按照指定方式刷新(可以用DBMS_MVIEW.REFRESH或者Job的方式刷新)
start with sysdate --第一次刷新时间(也可以使用to_date('24-11-2005 18:00:10', 'dd-mm-yyyy hh24:mi:ss'))
--刷新时间间隔,大概30分钟刷新一次(可以改成1/720,大概5分钟左右刷新一次),经过测试在oracle10g中指定BUILD DEFERRED参数也是可以自动刷新的
next sysdate + 1/48 
as
select t1.*,t2.* from t1,t2 where t1.t11 = t2.t21 ;
例2.
Create MATERIALIZED VIEW mv_t_demand
REFRESH COMPLETE --对整个物化视图进行完全刷新
ON DEMAND  --立即刷新,影响基表的插入速度
START WITH sysdate 
NEXT SYSDATE + 1/360 
AS
select t1.*,t2.* from t1,t2 where t1.t11 = t2.t21 ;
 

如果第一种方法没有自己刷新,那么可以通用Job的方式刷新物化视图.

-- 用于存放Job的执行时间
create table job_execStat (job varchar2(100),start_time date,end_time date);
-- Job需要调用的存储过程
create or replace procedure ref_mv as
start_time date;
end_time date;
begin  
select sysdate into start_time from dual;
exec dbms_mview.refresh('MV_T') ;
select sysdate into end_time from dual;  
insert into job_exedura values('job_execStat',start_time , end_time);
commit;
end;
Job可以在PL/SQL Deve中直接创建并调用 ref_mv 存储过程.调用的时间间隔可以自行设定. 

 

 

 

 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    物化视图的两种实现

    总结起来,物化视图的两种实现方式各有优势,直接设计简单明了,适合快速初始化和即时刷新;定时任务触发存储过程则更适合需要定期更新且对性能有一定要求的场景。选择哪种实现方式,应根据具体的应用环境和业务需求...

    物化视图,数据仓库,Oracle

    ### 物化视图在Oracle数据仓库中的应用与优化 #### 一、引言 在当今数据驱动的时代背景下,企业越来越依赖于数据仓库来进行决策支持系统(DSS)的构建,以便更好地理解业务趋势并做出战略性的分析。数据仓库的设计...

    Oracle物化视图增量刷新的应用研究.pdf

    物化视图操作简单,支持增量刷新及全量刷新,可以支持复杂的表连接、聚合函数等操作,为数据的加工创建了便捷条件,提高了查询效率,减少了服务器消耗资源。 本文主要研究 Oracle 物化视图增量刷新的应用,揭示了...

    一个物化视图的简单例子

    6. **查询物化视图**:最后,可以通过简单的`SELECT`语句查询物化视图,获取预计算的结果集。在本例中,通过`SELECT * FROM oemcyd.STU_VIEW;`查询了`stu_view`物化视图的全部数据。 ### 物化视图的管理 除了创建...

    oracle入门很简单—视图

    Oracle数据库系统是世界...而Oracle提供的不同类型的视图,如关系视图、内嵌视图、对象视图和物化视图,为不同的应用场景提供了丰富的选择。在实践中,根据实际情况灵活运用这些视图,将极大地提升你的数据库管理能力。

    oracle视图详解

    Oracle 视图详解 Oracle 视图(View)是一种逻辑表,基于一个或多个实际表...在 Oracle 中,还有一种视图:物化视图(MATERIALIZED VIEW),也称实体化视图,快照(8i 以前的说法),它是含有数据的,占用存储空间。

    内嵌视图简介

    根据不同的应用场景和目的,视图主要分为四种类型:关系视图、内嵌视图、对象视图以及物化视图。本文主要探讨的是内嵌视图。 #### 二、关系视图与内嵌视图对比 **关系视图**是指通过`CREATE VIEW`命令创建的视图,...

    Oracle 高级复制技术介绍及应用

    3. **简单查询优化**:通过物化视图提高查询性能的需求。 4. **冗余与负载均衡**:通过多主节点复制实现数据冗余和负载分担。 ### 六、总结 虽然Oracle高级复制技术在当今的数据库领域中不再是主流选择,但对于...

    19.Oracle视图1

    2. **物化视图**:物化视图是存储了查询结果的物理表,常用于数据仓库和OLAP系统中,以提高查询性能,但使用并不广泛。 总之,Oracle视图作为数据访问的窗口,提供了数据安全、简化查询、权限管理和业务逻辑封装等...

    数据库开发 Oracle数据库 SQL开发教程 第15章 视图(共23页).pdf

    视图也可以是可更新的、只读的,或者是物化视图,物化视图会预先计算并存储结果,提高查询效率。 在实际应用中,视图经常与其他数据库对象结合使用,如表、约束、序列、索引和同义词。表是存储数据的基本单位,约束...

    sqlvisualizer:一个非常快速的应用程序,它自动创建一个简单的 HTML 文档,其中包含 Postgres 中的物化视图定义,以及一个视图结构图

    简单如馅饼! 将创建一个 html 文档,该文档将为这些视图创建一个视图结构图和一组 Markdown 样式的查询定义。 使用 Mermaid 和 Strapdown.js 构建。 npm install -g 用法 sqlvisualizer -f file....

    oracle数据分发技术.pdf

    Oracle 提供了多种数据分发方法,包括 exp/imp 导入导出技术、物化视图和 Streams 数据同步。 1. exp/imp 导入导出技术: 这是一种基本的备份和恢复工具,允许用户将数据从一个数据库导出到本地的 dmp 文件,然后...

    mysql基础-视图、存储函数、存储过程、触发器.pdf

    - **物化视图**:虽然MySQL不直接支持物化视图,但在某些情况下可以通过其他方式模拟物化视图的功能,如使用InnoDB表存储查询结果来加速访问。 - **基表**:视图所依赖的原始数据表。对视图的操作最终会影响到基表...

    oracle 数据库

    ### Oracle数据库:深入理解数据备份、存储过程、物化视图与游标 #### 数据备份在Oracle中的实现 数据备份是任何数据库管理策略的核心组成部分,它确保了在数据丢失或损坏的情况下能够恢复到一个可用的状态。...

    Oracle查询优化技术在电信业务报表系统中的应用

    通过充分利用Oracle的查询优化技术,如索引、查询重写、物化视图、并行查询、分区以及存储过程和函数的优化,可以显著提升前台实时查询的响应速度和后台大数据量统计的速度。这些策略的应用需要根据具体场景灵活调整...

    ExpandableSelectionView,一个完全可定制的android可扩展选择下拉视图,可以向下推视图.zip

    在实际使用过程中,开发者可以通过Gradle或Maven将ExpandableSelectionView集成到项目中,然后通过简单的API调用来创建和配置下拉视图。例如,你可以设置初始选中的项,定义点击事件监听,甚至自定义展开和关闭的...

    oracle数据仓库中三种优化

    综上所述,通过采用分区优化、维度优化和物化视图优化,可以在Oracle数据仓库环境中显著提高数据查询和管理的效率。每种优化技术都有其独特的优势和应用场景,合理地结合使用这些技术可以帮助构建高性能的数据仓库...

    数据库考试aaaaaaaaaaa

    * 视图的类型:简单视图、复杂视图、物化视图等 * 视图的应用:数据隐藏、数据保护、数据分析等 五、存储过程 * 存储过程的概念:预编译的 SQL 语句集合 * 存储过程的优点:提高数据库性能、减少网络流量、增强...

Global site tag (gtag.js) - Google Analytics