2

Oracle では、具体化されたビューと分析ワークスペースを使用することの長所と短所は何ですか? これらの機能の使用に関するベスト プラクティスは何ですか?

私たちは OLTP システムを持っていますが、レポートやインタラクティブな意思決定支援ツールの概要情報にもアクセスしたいと考えています。

4

2 に答える 2

3

私もアナリティック ワークスペースを使用したことはありませんが、MV には実際にいくつかの短所があります (使用していますが)。いくつかのこと:

  1. これらは実際にはテーブルです。つまり、スペースを占有します。一部の状況では、それらを使用して、数百万行のテーブルのリモート データにアクセスしています。ビューはクエリ結果であり、仮想です。MV は実際のものです (メモリー構造ではなく、実際の行があります)。

  2. 私たちが遭遇した他の問題の 1 つは、多くの場合、MV が更新に失敗すると、二度と更新を試みないということです。
    私たちは、これが次の 2 つの状況で発生していると考えています。

    • リモート システムの場合、そのリモート システムへの接続が更新中に切断されると、MV は二度と更新されない可能性があり、切断して再構築する必要がある場合があります。
    • MV の基になっているテーブルの 1 つが構造を変更すると、同じことが起こるようです。たとえば、クエリ「select * from mywork」を使用して作成された MV があります。ある時点で、alter コマンドを発行して、列 FirstName を varchar2(100) から varchar2(150) に変更します。その時点で、MV の更新が失敗し、回復しないことがよくあります。

詳細は重要ではありません。重要なのは、MV を監視して、データが最新であることを確認する必要があることです。

于 2009-10-08T13:15:51.253 に答える
1

私は分析ワークスペースを使用したことがないので、それらと話すことはできません。

ただし、具体化されたビューは非常に便利です。これらは基本的にキャッシュされたビューの結果であり、インデックスの構築などを行うことができます。それらがどのように構成されているか (ログの有無にかかわらず) に応じて、「ライブ」データと比較して古くなる可能性がありますが、(データとクエリによっては) はるかに高速です。

リモート データ (データベース リンク) を扱っている場合、マテリアライズド ビューを使用すると、データをローカルにキャッシュできます。データの計算が遅い場合は、マテリアライズド ビューを使用して結果をキャッシュできます (古い可能性があります)。

マテリアライズド ビューは非常に便利です。賢明に実装する必要があります。

于 2009-10-06T17:18:13.090 に答える