物化参考视图使用大全.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
物化参考视图使用大全

物化视图使用大全 物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的。如果你想修改本地副本,必须用高级复制的功能。当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取。 对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图。物化视图可以查询表,视图和其它的物化视图。 一、??????????? 关于物化视图日志: 查询物化视图日志文件格式:desc mlog$_lzwmvtest; 创建物化视图时默认指定物化视图中存在主键,如果不指定,那么创建的物化视图日志文件的基表必须存在主键,否则会报错 Demo:对一个表test 创建日志:create materialized view log on test; 那么会报:表LZWMVTEST不包含主键约束条件 这种情况下,就必须指定日志文件结构 比如:create materialized view log on test with rowid(具体的针对日志内容方面的在另外一个专题里说明,这里就简述到此) 二、??????????? 关于生成数据和刷新: 1生成数据 两大选项:build immediate?? build deferred Build immediate:在创建物化视图的同时根据主表生成数据 Bulid deferred:在创建物化视图的同时,在物化视图内不生成数据,如果此时没有生成数据,以后可以采取:EXEC DBMS_MVIEW.Refresh(‘MV_name’,’C’),注意必须使用全量刷新,默认是增量刷新,所以这里参数必须是C,因为之前都没有生成数据,所以必须全量。 2关于刷新 2??????? 刷新方式:complete fast force Complete :完全刷新整个物化视图,相当于重新生成物化视图,此时即时增量刷新可用也全量刷新 ????????? Fast:当有数据更新时依照相应的规则对物化视图进行更新(此时必须创建物化视图日志(物化视图日志记录了数据更新的日志),关于日志的说明,参照“物化视图日志文件介绍”) ????????? Force:当增量刷新可用则增量刷新,当增量刷新不可用,则全量刷新(此项为默认选项) 不过从实际情况出发,应该尽量不使用默认选项,可以考虑使用增量刷新,对大表特别有效,大表全量更新速度是非常慢的,特别是在存在索引的情况下(在创建物化视图语句中,可能某些限制查询的条件,导致了增量刷新无法使用,这个是需要注意的,具体是哪类语句导致fast刷新不可用,有待总结…..) 2??????? 刷新时间:on demand on commit start with/ next On demand:在需要刷新时进行刷新(人工判断) On commit:在基表上有提交操作时,进行更新 Start with:指定首次刷新的时间(一般指定的是当前时间,不过也可以在创建物化视图时不生成数据,则可以考虑在指定的时间刷新,从而生成数据) Next:刷新的周期时间 三、??????????? 基于主键的物化视图和ROWID的物化视图的说明 创建物化视图日志时,指定了记录更新的原则即with 后面的primary 或者rowid 或者object id等等,后面,默认是以primary key为记录更新,在物化视图内也是以此为更新的原则。 例如:1、如果日志内使用的是primary key 则在创建物化视图时指定rowid来更新,则会报ORA-12032: 不能使用 TEST 上实体化视图日志中的 rowid 列 2、如过日志内使用的是rowid 则在创建物化视图时指定primary或者默认指定,则会报ORA-23415: GIS.LZWMV 的实体化视图日志不记录主键 四、??????????? 关于物化视图存放的的表空间 直接在创建物化视图时指定日志存放的表空间和物化视图的表空间。 例子:create materialized view MV_TEST tablespace test ----表空间名称 五、??????????? 关于查询重写和更新 在创建查询重写时,基表中必须有主键约束,视图里是无法创建主键的,不过其继承了基表的主键约束。(关于视图的创建的一些技巧有待总结……)下面给个例子 Create materialized view MV_TEST Refresh fast ----前提是必须创建基表日志,可以忽略该项 Enable query rewrite ----前提是基表上必须存在主键约束 As Select * from TEST

文档评论(0)

dart002 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档