我有一个复杂的查询,它不满足使用"提交时快速刷新"或"快速刷新"创建实例化视图的条件。 我已经使用"立即构建"创建了物化视图。 我已经在查询中使用的所有表上创建了具体化的视图日志。 我的问题是,当我刷新物化视图时,它是否会使用物化视图日志来增量刷新表,而物化视图没有设置"提交时快速刷新"或"快速刷新"创建选项。 它会重做查询并在刷新时从头开始构建所有记录。
我没有完全理解你的问题,但这里有一些答案:
您可以设置 REFRESH FAST
、 REFRESH COMPLETE
和 REFRESH FORCE
。 REFRESH FORCE
意味着 Oracle 尝试进行快速刷新,如果无法做到这一点,则执行完全刷新。 如果省略子句,则REFRESH FORCE
是默认值。
不会触及任何物化视图日志,它们一直保留到刷新所有快速物化视图为止,即完全刷新重做查询并从头开始构建所有记录。
显然,您尝试创建一个快速可刷新的物化视图,但没有成功。
尝试DBMS_MVIEW过程。EXPLAIN_MVIEW以检查为什么无法快速刷新。此过程需要表 MV_CAPABILITIES_TABLE
:
CREATE TABLE MV_CAPABILITIES_TABLE
(
STATEMENT_ID VARCHAR2(30 BYTE),
MVOWNER VARCHAR2(30 BYTE),
MVNAME VARCHAR2(30 BYTE),
CAPABILITY_NAME VARCHAR2(30 BYTE),
POSSIBLE CHAR(1 BYTE),
RELATED_TEXT VARCHAR2(2000 BYTE),
RELATED_NUM NUMBER,
MSGNO INTEGER,
MSGTXT VARCHAR2(2000 BYTE),
SEQ NUMBER
)