实体化视图中的完全刷新和快速刷新有什么区别?

2022-07-22 00:00:00 oracle materialized-views rdbms

我在自己的架构中有实体化视图,而实体化视图源是另一个架构表,但是,这个主表有900行,我在这个主表上做了一些DML操作,之后我会刷新这个实体化视图,我做了一些研究"如何刷新我自己的实体化视图",它说"您可以进行完全刷新或快速刷新",但我不理解这些解决方案,这意味着我的问题很简单;

MV中的完全刷新和快速刷新有什么区别?

附注:如果我的主表有100万行或更多行,我应该选择哪一行?(快速或完整)

感谢您的回复。


解决方案

"完全刷新"表示截断整个实例化视图并插入新数据。

"快速刷新"表示您只更新(或插入/删除)主表上已更改的行。

正如信息"强制刷新"所指的那样,Oracle尝试进行快速刷新,如果不可能,则执行"完全刷新"

通常,快速刷新比完全刷新快得多,但它有一些限制。您必须对主表定义MATERIALIZED VIEW LOG

这里是一个完整的限制列表General Restrictions on Fast Refresh,有很多限制。

相关文章