Oracle物化视图语法2010-05-21 09:58 物化视图对于前台数据库使用者来说如同一个实际的表,具有和一般表相同的如select等操作,而其实际上是一个视图,一个由系统实现定期刷新其数据的视图(具体刷新时间在定义物化视图的时候已有定义),使用物化视图更可以实现视图的所有功能,而物化视图却不是在使用时才读取,大大提高了读取速度,特别适用抽取大数据量表某些信息以及数据链连接表使用,但是物化视图占用数据库磁盘空间。具体语法如下:
create materialized view [view_name]
refresh [fast|complete|force]
[
on [commit|demand] |
start with (start_time) next (next_time)
]
as
{创建物化视图用的查询语句}
具体实例如下:
CREATE MATERIALIZED VIEW an_user_base_file_no_charge
REFRESH COMPLETE START WITH SYSDATE
NEXT TRUNC(SYSDATE+29)+5.5/24 --红色部分表示从指定的时间开始,每隔一段时间(由next指定)就刷新一次
AS
select distinct user_no
from cw_arrearage t
where (t.mon = dbms_tianjin.getLastMonth or
t.mon = add_months(dbms_tianjin.getLastMonth, -1))
删除物化视图:
drop materialized view an_user_base_file_no_charge;
以上是Oracle创建物化视图(Materialized View,以下简称MV)时的常用语法,各参数的含义如下:
1.refresh [fast|complete|force] 视图刷新的方式:
fast: 增量刷新.假设前一次刷新的时间为t1,那么使用fast模式刷新物化视图时,只向视图中添加t1到当前时间段内,主表变化过的数据.为了记录这种变化,建立增量刷新物化视图还需要一个物化视图日志表。create materialized view log on (主表名)。
complete:全部刷新。相当于重新执行一次创建视图的查询语句。
force: 这是默认的数据刷新方式。当可以使用fast模式时,数据刷新将采用fast方式;否则使用complete方式。
2.MV数据刷新的时间:
on demand:在用户需要刷新的时候刷新,这里就要求用户自己动手去刷新数据了(也可以使用job定时刷新)
on commit:当主表中有数据提交的时候,立即刷新MV中的数据;
start ……:从指定的时间开始,每隔一段时间(由next指定)就刷新一次;
手动刷新物化视图:
begin
dbms_mview.refresh(TAB=>'an_user_base_file_no_charge',
METHOD=>'COMPLETE',
PARALLELISM=>8); --PARALLELISM并行控制参数
end;
/
增量刷新就不需要使用什么并行了,通常情况下,是没有那个必要的。
begin
dbms_mview.refresh(TAB=>'an_user_base_file_no_charge',
METHOD=>'FAST',
PARALLELISM=>1);
end;
/
分享到:
相关推荐
本文还介绍了基于物化视图快速刷新技术的数据仓库设计。数据集中项目的核心功能是汇总存在于各地市州的数据,汇总、清洗,并基于不同的主题建立不同主题的数据仓库,为其他应用系统做数据准备。 在实际运用中,全部...
在学习 Oracle 物化视图时,需要了解物化视图的概念、创建和删除物化视图、设置自动刷新时间和日志等知识点。同时,也需要了解物化视图的优点和缺点,以便更好地使用物化视图提高查询性能。 Oracle 物化视图的优点...
Oracle物化视图是一种数据库对象,它存储了查询结果,以提供快速的数据访问,特别适合于需要频繁查询但计算过程复杂或涉及大量数据连接的场景。物化视图的使用可以显著提高查询性能,因为它避免了每次查询时的计算...
快速刷新是物化视图刷新方式的首选,但不是所有的物化视图都可以进行快速刷新。只有满足某些条件的物化视图才具有快速刷新的能力。根据查询的不同,快速刷新的限制条件也不相同。所有类型的快速刷新物化视图都必须...
Oracle物化视图是一种在数据库中预先计算并存储视图查询结果的数据对象,它与普通的视图不同,普通视图在查询时动态地基于基表数据生成结果,而物化视图则拥有自己的物理存储,提供了对数据的快速访问。在本篇循序渐...
Oracle 物化视图 Oracle 物化视图是数据库对象,存储远程表的数据副本,也可以称为快照。物化视图可以查询表、视图和其他物化视图。通常情况下,物化视图被称为主表(在复制期间)或明细表(在数据仓库中)。 创建...
1. **ONDEMAND**:默认情况下,物化视图采用的是ONDEMAND模式,即只有当用户显式地请求刷新时,Oracle才会更新物化视图中的数据。这是一种最简单的创建方式,适用于数据变化不频繁或者对数据新鲜度要求不高的场景。 ...
在Oracle 10g之前,要检查物化视图是否配置正确,需要使用DBMS_MVIEW包的EXPLAIN_MVIEW和EXPLAIN_REWRITE过程,这些过程只能简单地表明某个特性(如快速刷新或查询重写)可能适用于物化视图,但不会提供具体实现建议...
Oracle物化视图是数据库管理系统中的一个重要特性,尤其在处理大量数据和复杂查询的场景下,它可以极大地提升查询性能和数据一致性。物化视图与普通的视图不同,后者是逻辑上的虚表,其内容在查询时动态计算,而物化...
本文将详细介绍如何创建和管理物化视图以及如何利用查询重写功能来透明地重写 SQL 查询,从而利用物化视图提高查询响应时间,让数据库用户完全不必了解哪些物化视图存在。 #### 汇总管理的重要性 汇总管理提供了一...
### Oracle物化视图介绍及应用详解 #### 一、物化视图概念与作用 在Oracle数据库中,物化视图(Materialized View, MV)是一种预计算并存储的查询结果,它能够显著提高复杂查询的性能。通常情况下,复杂的查询涉及到...
这样,通过比较不同物化视图的刷新时间,可以确定哪些日志记录适用于某个特定的物化视图刷新。 2. **判断哪些记录适用于当前物化视图**:当需要刷新某物化视图时,Oracle会检查该物化视图的刷新时间,并通过SNAP...
通过上述介绍,我们可以看出物化视图是Oracle数据库中一种非常实用的工具,它能够显著提高复杂查询的性能,并简化数据复制的过程。正确地使用物化视图不仅可以提升系统的整体效率,还能更好地满足业务需求。在实际...
### Oracle物化视图详解 #### 一、物化视图概述 Oracle物化视图是一种特殊类型的数据库对象,其核心功能在于预先计算并存储基于一个或多个表的查询结果,以此来加速后续的查询操作。与普通视图不同,普通视图在...
Oracle物化视图日志是一种强大的数据同步技术,尤其适用于分布式数据库和分布式应用系统之间的数据一致性维护。在当今信息化系统中,随着技术的快速发展,数据的分布性和实时性需求日益增强,数据同步成为了一个关键...
### ORACLE使用物化视图和查询重写功能 #### 一、概述 在Oracle数据库中,物化视图和查询重写功能是提高查询效率和简化数据仓库管理的重要工具。物化视图是一种预计算的数据集合,它可以存储查询的结果集,而查询...
在完成上述步骤后,就可以在物化视图站点上进行相应的配置,如创建物化视图、定义物化视图刷新策略等。物化视图的刷新可以是即时的,也可以是定时的,这取决于应用的具体需求。 总的来说,Oracle物化视图的配置涉及...
物化视图日志(mlog$_table_name)是物化视图刷新的基础,它记录了对原始表所做的更改,以供刷新时使用。通过查询物化视图日志,可以检查物化视图的更新状态。 除了物化视图的管理,文件还提到了Oracle数据集成工具...
Oracle物化视图是一种在数据库管理系统中用于提升性能和数据整合的重要工具,尤其适用于处理大量数据和复杂的查询。物化视图本质上是一个预先计算并存储的查询结果集,它不仅提供了一种数据缓存的方式,还可以实现...