ホーム
コンテンツにスキップ
検索にスキップ
Oracle
メニュー
サインイン
アカウント
Oracleアカウント
サインアウト
Oracleアカウント
アカウントを管理して、パーソナライズされたコンテンツにアクセスできます。
サインイン
アカウントを作成
クラウド・アカウント
クラウド・ダッシュボードへのアクセス、ご注文の管理など、さまざまな操作を行えます。
サインイン
国を選択
アカウント
ヘルプ
国を選択
電話
Oracle
Technology Network
おすすめコンテンツ
製品技術情報 TOP
ソフトウェアダウンロード TOP
製品ドキュメント TOP
OTN オンデマンド TOP
掲示板 TOP
チュートリアル TOP
技術コラム TOP
はじめての方へ
マテリアライズド・ビュー・リフレッシュによるパフォーマンス向上
マテリアライズド・ビューとは、その名が示すとおり“実体のあるビュー”のことです。 マテリアライズド・ビューは、Oracle のレプリケーション機能のひとつであるスナップショットのメカニズムを使用して実装されています。 マテリアライズド・ビューを使用することで、複雑な問合せ処理をあらかじめ行うことができるため、ビジネス・インテリジェンスの生産性を飛躍的に高めることができます。
マテリアライズド・ビューには、たとえば、特定期間における地域別の給与総額など、事前定義された問合せの結果が含まれています。定義するマテリアライズド・ビューの数に制限はありません。 SQL問合せを発行すると、Oracle内のクエリー・リライト機能によって適切なマテリアライズド・ビューが使用可能であるかどうかが判断します。 使用可能な場合は、Oracleは透過的に問合せをリライトして、代わりにマテリアライズド・ビューが使用されるようにします。 この結果、問合せは問合せによって参照される表内のすべての行ではなく、マテリアライズド・ビューにある少数の行にアクセスするため、パフォーマンスが大幅に改善されます。
マテリアライズド・ビューの基礎となる表が更新されるたびに、Oracleはそのマテリアライズド・ビューを
失効(stale)
とマークします。
QUERY_REWRITE_INTEGRITYを
stale_tolerated
に設定しない限り、失効したマテリアライズド・ビューはクエリー・リライト・エンジンで使用されなくなります。 Oracleは、実表に関してマテリアライズド・ビューを常に最新のものにする、
マテリアライズド・ビュー・リフレッシュ
と呼ばれるメカニズムを提供します。
マテリアライズド・ビューのリフレッシュについて次のタイプの設定をサポートします。
完全リフレッシュ - 再作成処理
高速リフレッシュ - データ変更のみを適用
強制リフレッシュ - 高速リフレッシュを試行し、不可能な場合には完全リフレッシュを実行
なし - マテリアライズド・ビューをリフレッシュしない
マテリアライズド・ビューにはそれぞれ個別にリフレッシュ方法が設定されます。 マテリアライズド・ビューを定義する問合せによって、適用可能なリフレッシュ方法が制限されます。 そのため、マテリアライズド・ビューが必ずしも高速リフレッシュできるとは限りません。 すべてのマテリアライズド・ビューは、完全リフレッシュを使用してリフレッシュすることができます。
マテリアライズド・ビューは最新のデータ変更を反映させるタイミングとしてON DEMANDまたはON COMMITを定義することができます。
ユーザーは、リフレッシュのタイミングを自由にON DEMANDを選択することによってマテリアライズド・ビューのリフレッシュを制御することができます。Oracleは、リフレッシュON DEMANDに対して次のプロシージャを提供します。
DBMS_MVIEW.REFRESH - リフレッシュするマテリアライズド・ビューを1つまたは複数選択する
DBMS_MVIEW.REFRESH_DEPENDENT - 表に依存するマテリアライズド・ビューをリフレッシュする
DBMS_MVIEW.REFRESH_ALL_MVIEWS - すべてのマテリアライズド・ビューをリフレッシュする
ユーザーがリフレッシュON COMMITを選択した場合、Oracleはマテリアライズド・ビューによって参照される表を更新するトランザクションがコミットされるたびに、そのマテリアライズド・ビューを自動的にリフレッシュします。
Oracle9iでは、マテリアライズド・ビュー・リフレッシュが大幅に改善されています。
SQL DML文(INSERT、UPDATE、DELETE)を使用して実表が変更された場合でも、結合と集計を含むマテリアライズド・ビューに対 して高速リフレッシュが可能になりました。Oracle8iでは、結合と集計を含むマテリアライズド・ビューの高速リフレッシュは、 SQL*Loaderダイレクト・パスを使用して実表が挿入された場合にのみ可能でした。
高速リフレッシュで使用されるアルゴリズムが変更され、この処理のパフォーマンスが飛躍的に改善されています。
マテリアライズド・ビューで参照される表でTRUNCATE PARTITIONなどのパーティション・メンテナンス処理が行われた後で、 高速リフレッシュが可能になりました。
パーティション・チェンジ・トラッキング(PCT)と呼ばれる新しいメカニズムが導入されました。このメカニズムは、 マテリアライズド・ビューが最後にリフレッシュされてから更新された実表のパーティションを追跡します。 これにより、Oracleはマテリアライズド・ビューの最新データをパーティション毎に識別できるようになります。
FROM句とCUBE、ROLLUP、およびGROUPING SET関数に対して副問合せで高速リフレッシュが可能になりました。
上記の拡張をサポートするために、Oracle9iでは常にマテリアライズド・ビュー・ログを作成する必要があります。
Oracle9
i
におけるマテリアライズド・ビュー・リフレッシュにより、マテリアライズド・ビューのメンテナンスが飛躍的に高速かつ簡単になります。これらの拡張により、いくつかのインスタンスでリフレッシュ実行のためにすべてのデータにアクセスする必要がなくなり、リフレッシュ全般のパフォーマンスが向上します。
追加情報
Oracle9i Database 技術資料 -
Business Intelligence (データ・ウェアハウス)
- Oracle9i のマテリアライズド・ビュー
Oracle9i Database マニュアル(ドキュメント) -
Performance&Replication
- Oracle9i レプリケーション
Oracle9
i
Database Daily Feature
アーカイブ
E-mail this page
Printer View
お問い合わせ
電話: 0120-155-096
お問い合わせ先
オラクル・サポート・サービス
日本オラクルについて
会社情報
コミュニティ
採用情報
クラウド
クラウド・ソリューション概要
ソフトウェア(SaaS)
プラットフォーム(PaaS)
インフラストラクチャ(IaaS)
データ(DaaS)
クラウド無料トライアル
イベント
Oracle OpenWorld
Oracle Code
JavaOne
オラクルのすべてのイベント
おすすめコンテンツ
Javaダウンロード
開発者向けJavaダウンロード
Oracle Cloudを試す
電子メール配信登録
ニュース
ニュースルーム
オラクルのマガジン(US)
顧客事例
日本オラクルのブログ
主要トピック
ERP、EPM(財務)
HCM(人事/人材)
マーケティング
CX(販売/サービス/商取引)
サプライチェーン
業種別ソリューション
データベース
MySQL
ミドルウェア
Java
エンジニアド・システム
Facebook
Twitter
LinkedIn
YouTube
Oracle RSSフィード
Oracle
Integrated Cloud Applications & Platform Services
© Oracle
サイトマップ
ご利用規約およびプライバシー
広告表示について