编译和刷新实例化视图有什么区别?



我们刚刚遇到了一个问题,物化视图不刷新,并给出一个编译错误。一位高级开发人员说,他刚刚想出了解决这个问题的方法——告诉蟾蜍编译物化视图。

所以我的问题很简单:刷新和"编译"之间有什么区别?

物化视图的刷新是一个数据操作。MV中的数据将按照创建视图时指定的方式更新,例如,快速刷新、完全刷新等。

编译MV时,Oracle会重新验证视图所基于的查询。由于MV所基于的一个或多个底层对象发生了变化,您的MV可能无效。

A refresh更新物化视图保存的数据。如果物化视图的定义无效,则无法执行此操作。

A compile验证物化视图的定义,即SQL是有效的,并且它所依赖的对象存在。

编译=验证并运行

Refresh =重新提交数据。它的含义和定义与编程之外的含义和定义相同。

最新更新