oracle数据库中物化视图的原理剖析

oracle数据库中物化视图的原理剖析

ID:34725097

大小:76.68 KB

页数:3页

时间:2019-03-10

oracle数据库中物化视图的原理剖析_第1页
oracle数据库中物化视图的原理剖析_第2页
oracle数据库中物化视图的原理剖析_第3页
资源描述:

《oracle数据库中物化视图的原理剖析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Oracle数据库中物化视图的原理剖析物化视图(MV)在一个段中存储查询结果,并且能够在提交查询时将结果返回给用户,从而不再需要重新执行查询—在查询要执行几次时(这在数据仓库环境中非常常见),这是一个很大的好处。物化视图可以利用一个快速刷新机制从基础表中全部或增量刷新。假定您已经定义了一个物化视图,如下:  creatematerializedviewmv_hotel_resv  refreshfast  enablequeryrewrite  as  selectdistinctcity,resv_id,cust_name  fromhotels

2、h,reservationsr  wherer.hotel_id=h.hotel_id';  您如何才能知道已经为这个物化视图创建了其正常工作所必需的所有对象?在Oracle数据库10g之前,这是用DBMS_MVIEW程序包中的EXPLAIN_MVIEW和EXPLAIN_REWRITE过程来判断的。这些过程(在10g中仍然提供)非常简要地说明一种特定的功能—如快速刷新功能或查询重写功能—可能用于上述的物化视图,但不提供如何实现这些功能的建议。相反,需要对每一个物化视图的结构进行目视检查,这是非常不实际的。在10g中,新的DBMS_ADVISOR程序

3、包中的一个名为TUNE_MVIEW的过程使得这项工作变得非常容易:您利用IN参数来调用程序包,这构造了物化视图创建脚本的全部内容。该过程创建一个顾问程序任务(AdvisorTask),它拥有一个特定的名称,仅利用OUT参数就能够把这个名称传回给您。下面是一个例子。因为第一个参数是一个OUT参数,所以您需要在SQL*Plus中定义一个变量来保存它。    SQL>--首先定义一个变量来保存OUT参数  SQL>varadv_namevarchar2(20)  SQL> begin  2 dbms_advisor.tune_mview   3  (  

4、4    :adv_name,  5    'creatematerializedviewmv_hotel_resvrefreshfastenablequeryrewriteas  selectdistinctcity,resv_id,cust_namefromhotelsh,    reservationsrwherer.hotel_id=h.hotel_id');  6*end;  现在您可以在该变量中找出顾问程序的名称。    SQL>printadv_name    ADV_NAME  -----------------------  TA

5、SK_117  接下来,通过查询一个新的DBA_TUNE_MVIEW来获取由这个顾问程序提供的建议。务必在运行该命令之前执行SETLONG999999,因为该视图中的列语句是一个CLOB,默认情况下只显示80个字符。    selectscript_type,statement  from dba_tune_mview  where task_name='TASK_117'  order byscript_type,action_id;  下面是输出:    SCRIPT_TYPE  STATEMENT  ---------------------

6、----------------------------------------------------  IMPLEMENTATIONCREATEMATERIALIZEDVIEWLOGON"ARUP"."HOTELS"WITHROWID,  SEQUENCE("HOTEL_ID","CITY") INCLUDINGNEWVALUES    IMPLEMENTATIONALTERMATERIALIZEDVIEWLOGFORCEON"ARUP"."HOTELS"ADD  ROWID,SEQUENCE("HOTEL_ID","CITY") INCLUD

7、INGNEWVALUES    IMPLEMENTATIONCREATEMATERIALIZEDVIEWLOGON"ARUP"."RESERVATIONS"WITH  ROWID,SEQUENCE("RESV_ID","HOTEL_ID","CUST_NAME")  INCLUDINGNEWVALUES    IMPLEMENTATIONALTERMATERIALIZEDVIEWLOGFORCEON"ARUP"."RESERVATIONS"  ADDROWID,SEQUENCE("RESV_ID","HOTEL_ID","CUST_NAME")  

8、INCLUDINGNEWVALUES    IMPLEMENTATIONCREATEMATERIALIZEDVIEWARU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。