Oracle – 使用DBMS_MVIEW.REFRESH刷新’REFRESH FORCE ON DEMAN
发布时间:2021-02-24 08:43:59 所属栏目:站长百科 来源:网络整理
导读:我有以下物化视图 – CREATE MATERIALIZED VIEW TESTRESULT ON PREBUILT TABLE WITH REDUCED PRECISIONREFRESH FORCE ON DEMANDWITH PRIMARY KEYAS SELECT...FROM...WHERE... 此物化视图没有支持MATERIALIZED VIEW LOG.如上面的子句所示,这个MV有“ON DEMAND
我有以下物化视图 – CREATE MATERIALIZED VIEW TESTRESULT ON PREBUILT TABLE WITH REDUCED PRECISION REFRESH FORCE ON DEMAND WITH PRIMARY KEY AS SELECT... FROM... WHERE... 此物化视图没有支持MATERIALIZED VIEW LOG.如上面的子句所示,这个MV有“ON DEMAND”指定,并根据Oracle文档,
当我调用DBMS_MVIEW.REFRESH(‘TESTRESULT’)时,发生了什么?它是否手动检查每条记录以查看它是否已更新? Oracle版本:10g 解决方法默认情况下(并且此默认值在不同版本的Oracle中更改),将在物化视图上执行完整的原子刷新.这意味着将删除物化视图中的数据,将重新执行基础查询,并将结果加载到物化视图中.您可以通过为ATOMIC_REFRESH参数传入值FALSE来提高刷新效率,即dbms_mview.refresh( 'TESTRESULT',atomic_refresh => false ); 这将导致物化视图被截断,查询重新执行,并且结果通过直接路径插入插入到物化视图中.这将比原子刷新更有效,但物化视图在刷新期间将为空. (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |