employeeテーブルをもとに作成されているマテリアライズドビューemployee_mvがあるとします。このemployee_mvを高速リフレッシュに対応させる手順は以下の通りです。
① employeeに対するマテリアライズドビューログを作成する。
CREATE MATERIALIZED VIEW LOG ON employee;
② employee_mvのリフレッシュ方法を高速リフレッシュに変更する。
ALTER MATERIALIZED VIEW employee_mv REFRESH FAST;
③ マテリアライズドビューログを初期化するため、完全リフレッシュを行う。
EXECUTE DBMS_MVIEW.REFRESH(LIST => 'employee_mv', METHOD => 'c', ATOMIC_REFRESH => false);
employee_mvが高速リフレッシュに対応したことを確認するため、リフレッシュを実行します。
EXECUTE DBMS_MVIEW.REFRESH('employee_mv');
以下のクエリにより、employee_mvが高速リフレッシュに対応していること、および高速リフレッシュによりリフレッシュされたことが確認できるはずです。
SELECT mview_name, refresh_method, last_refresh_type
FROM USER_MVIEWS
WHERE mview_name = 'EMPLOYEE_MV'
MVIEW_NAME | REFRESH_METHOD | LAST_REFRESH_TYPE |
---|---|---|
EMPLOYEE_MV | FAST | FAST |
環境情報:
- Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production