Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle - O que acontece ao atualizar uma visualização 'REFRESH FORCE ON DEMAND' com DBMS_MVIEW.REFRESH


Por padrão (e esse padrão muda em diferentes versões do Oracle), isso fará uma atualização atômica completa na visão materializada. Isso significa que os dados na visualização materializada serão excluídos, a consulta subjacente será executada novamente e os resultados serão carregados na visualização materializada. Você pode tornar a atualização mais eficiente passando um valor FALSE para o ATOMIC_REFRESH parâmetro, ou seja
dbms_mview.refresh( 'TESTRESULT', atomic_refresh => false );

Isso fará com que a visualização materializada seja truncada, a consulta executada novamente e os resultados inseridos na visualização materializada por meio de uma inserção de caminho direto. Isso será mais eficiente do que uma atualização atômica, mas a visualização materializada ficará vazia durante a atualização.