首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果使用refresh子句,将不会创建物化视图

如果使用refresh子句,将不会创建物化视图
EN

Stack Overflow用户
提问于 2016-04-01 04:31:51
回答 2查看 1K关注 0票数 0

我使用这个子句创建一个物化视图。

代码语言:javascript
复制
CREATE MATERIALIZED VIEW mvName
REFRESH FAST
START WITH TO_DATE('01-APR-2016 12:19:00','dd-mon-yyyy hh24:mi:ss')
NEXT SYSDATE+1/1440 as ....;

使用此脚本,将不会创建物化视图。但是,如果我使用刷新完成,那么它将创建物化视图。

oracle中还有一条注释:如果您指定快速刷新,那么创建语句将失败,除非物化视图主表已经存在物化视图日志。Oracle数据库在发生直接路径插入时自动创建直接加载程序日志.不需要用户干预。

我也不确定我遇到的问题是否是因为我不完全理解的这个注释(具体来说,这个问题:除非物化视图主表已经存在物化视图日志,否则CREATE语句就会失败)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-01 06:56:58

快速刷新选项允许我们通过仅应用上次刷新后的增量来同步物化视图及其底层表。诀窍是Oracle需要知道增量是什么。

因此,我们需要在基础源表上创建物化视图日志。而且,正如错误消息所表明的,除非SELECT子句中的所有表都有这样的日志,否则我们不能使用快速刷新选项创建物化视图。了解更多信息

我们不需要带有完全刷新选项的物化视图的日志,因为每次都会查询整个表。

票数 1
EN

Stack Overflow用户

发布于 2016-04-01 07:00:54

代码语言:javascript
复制
create materialized view log on xx_test_tab;

CREATE MATERIALIZED VIEW mvName
REFRESH FAST
START WITH TO_DATE('01-APR-2016 12:19:00','dd-mon-yyyy hh24:mi:ss')
NEXT SYSDATE+1/1440 as select * from xx_test_tab;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36348085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档