権限 grant create materialized view to ユーザ名; クエリーリライト alter system set QUERY_REWRITE_ENABLED = true; 作成 create materialized view MVIEW名 refresh リフレッシュタイプ リフレッシュモード as select文 リフレッシュタイプ complete 完全リフレッシュ。 マテリアライズド・ビュー内の全データを削除後、新規挿入する。 fast 高速リフレッシュ 元表に更新が発生した場合、更新分データのみリフレッシュする。 force デフォルト fast が不可能であった場合、complete を実施 高速リフレッシュ fast リフレッシュモード on commit 自動更新 on demand 手動更新 完全リフレッシュでMVIEW作成 create materialized view MVIEW名 refresh complete as select 列名,列名 from 元表; 高速リフレッシュでMVIEW作成 create materialized view mv_emp refresh fast as select 列名,列名, count(*) cnt_all from 元表 group by ...; MVIEW_LOG作成(高速リフレッシュ使用時には必須) create materialized view log on 元表; MVIEW_LOG作成(MVIEWに集計関数を使用する場合) create materialized view log on 元表 with sequence, rowid( 列名 ) including new values; 完全リフレッシュ exec dbms_mview.refresh( 'MVIEW名', c ); 高速リフレッシュ exec dbms_mview.refresh( 'MVIEW名' ); マテリアライズドビューの削除 drop materialized view ビュー名 マテリアライズドビューのエラー参照 exec dbms_mview.explain_mview('MVIEW名'); 10g マテリアライズドビュー作成SQLの出力(MVIEW_LOG作成のSQLなど) DBMS_ADVISOR.TUNE_MVIEW( x, 'CREATE MATERIALIZED VIEW mview名 AS select文 '); DBMS_ADVISOR.CREATE_FILE(DBMS_ADVISOR.GET_TASK_SCRIPT(x), 'ディレクトリー名', '作成ファイル名'); * xには同じ文字を使用 MVIEW_LOG メモ MVログのテーブル(MLOG$テーブル名)には索引がなく必ずFULLSCANする。