oracle10g物化视图简介.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle 10g物化视图简介?环境oracle 10g 10.2.0.4? linux 64要大而专业的看oracle自己的文档-sql参考。说实话,oracle需要学习的内容太多,每个都看过去,实在太费事。所以如果能够对物化视图有个概览,那最方便不过。主要涉及内容物化视图日志,用于快速刷新所必须的物化视图权限,通常不是个难题,因为编译的时候会给你足够的权限提示,没有的话找dba.为了练习,尽可以在测试环境中赋予dba的权限。什么是物化视图?(物化视图的简单定义)简而言之,就是具有实体表的视图,而且这个视图还可以根据多种需求和策略进行刷新。此外还有一个非常重要的功能-查询重写(query rewrite)? .查询重写能够在某些时候提高你的查询速度。所谓查询重写,简而言之,就是oracle 的查询优化器发现有个物化视图的语法和你的SQL差不多,那么就会直接访问物化视图,而不是你原来查询中有关的源表。物化视图能干什么?或者说,你能拿物化视图做什么用。前文简单说了下,此处列出一些重要而想详细的功能:1)能够提高查询速度,这主要是因为物化视图存储了实际的数据,其次具有查询重写功能。最后,物化视图具有实体表,你也可以在上面建立索引,总之大体上当作一个表用就可以了。2) 简化了开发任务,意思是开发的人员有的时候,无需直接关注部分sql的性能,而通过dba的努力,使用查询重写来完成性能的提升。3)减少了工作量,因为物化视图可以定义两种刷新方式:立即刷新,按需刷新。所谓按需刷新就是你自己手动刷新,或者是定时刷新;所谓立即刷新,即视图主表发生变化的时候,视图立即刷新内容。 你可以根据自己的设备情况,应用情况和需求来控制刷新的方式。4)刷新量的灵活限制,你可以快速是刷新(只刷新变化的),也可以全刷新。看你的需要。物化视图的语法?略,这个内容太多,还是去看oracle官方的sql参考吧!物化视图有关的参数主要是优化参数(查询重写的)SQL show parameters query?NAME???????????????????????????????? TYPE??????? VALUE------------------------------------ ----------- ------------------------------query_rewrite_enabled??????????????? string????? TRUEquery_rewrite_integrity??????????????? string????? enforced第一个参数是表示是否支持查询重写,默认是可以第二个参数是查询重写的支持方式:STALE_TOLERATED:表示即使细目表中的数据已经发生了变化,也仍然使用物化视图。?TRUSTED :表示物化视图未失效时才使用该视图。但是,查询改写可以使用信任关系,如那些由维度对象或尚未生效的约束所声明的关系。?ENFORCED(缺省):表示当物化视图保证能给出与使用细目表相同的结果时才使用它。使用这一参数意味着查询改写将不使用失效的物化视图或信任关系。?正确的设置决定于应用程序的数据需求。使用失效物化视图的查询改写可能会产生与没有使用查询改写时不同的结果。然而,如果使用细目数据,可能会因为响应查询需要处理的大量数据而使性能恶化。在一个数据仓库中,通常使用TRUSTED完整级别,因为这样才可以保证你只使用那些具有最新数据的物化视图;然而,被声明为正确(可信任)的关系也可用于查询改写。在大多数数据仓库中,这些关系已经在提取、转换和加载(ETL)过程得到了验证,因此不再需要进行验证。?物化视图有关的工具主要是dbms_mview包。对于初学者,主要关心两个过程:explain_mview,看有关sql是否支持物化视图的有关功能。Explain_Rewrite,看有关查询sql是否支持查询重写。explain_mview需要有个表:mv_capabilities_tableSQL desc mv_capabilities_tableName??????????? Type?????????? Nullable Default Comments?--------------- -------------- -------- ------- --------?STATEMENT_ID??? VARCHAR2(30)?? YMVOWNER???????? VARCHAR2(30)?? YMVNAME????????? VARCHAR2(30)?? YCAPABILITY_NAME VARCHAR2(30)?? YPOSSIBLE??????? CHAR(1)??????? YRELATED_TEXT??? V

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档