デフォルト(およびこのデフォルトはOracleのさまざまなバージョンで変更されます)では、マテリアライズド・ビューで完全なアトミック・リフレッシュが実行されます。つまり、マテリアライズドビューのデータが削除され、基になるクエリが再実行され、結果がマテリアライズドビューに読み込まれます。 ATOMIC_REFRESH
にFALSEの値を渡すことで、更新をより効率的にすることができます。 パラメータ、つまり
dbms_mview.refresh( 'TESTRESULT', atomic_refresh => false );
これにより、マテリアライズドビューが切り捨てられ、クエリが再実行され、結果がダイレクトパス挿入を介してマテリアライズドビューに挿入されます。これはアトミックリフレッシュよりも効率的ですが、マテリアライズドビューはリフレッシュ中は空になります。