ビューとマテリアライズドビューの違い

著者: Laura McKinney
作成日: 2 4月 2021
更新日: 11 5月 2024
Anonim
P#9 OracleSQLデータベースのビューとマテリアライズドビューの違い-インタビューの質問
ビデオ: P#9 OracleSQLデータベースのビューとマテリアライズドビューの違い-インタビューの質問

コンテンツ


これまで、データベースの物理的な形式で保存された元のテーブルについて説明してきました。ここで、テーブルのすべての属性にアクセスできます。ユーザーがテーブルの一部の属性へのアクセスを制限し、他の属性へのアクセスを許可する必要がある場合はどうなりますか。同様に、管理部門の事務員は、従業員テーブルの名前、住所、指定、年齢などの要素を検索できます。ただし、従業員の給与を表示またはアクセスする権限を与えてはなりません。

そのような場合、テーブルから必要な属性のみを表示できる仮想テーブルを作成できる必要があります。これは、この記事で説明するビューおよびマテリアライズドビューを介して可能です。また、以下に示す比較チャートを使用して、ビューとマテリアライズドビューの違いについて説明します。

  1. 比較表
  2. 定義
  3. 主な違い
  4. 結論

比較表

比較の根拠見るマテリアライズドビュー
ベーシックビューは保存されることはなく、表示されるだけです。マテリアライズドビューはディスクに保存されます。
定義するビューは、1つ以上のベーステーブルまたはビューから構成される仮想テーブルです。マテリアライズドビューは、ベーステーブルの物理コピーです。
更新ビューは、仮想テーブル(ビュー)が使用されるたびに更新されます。マテリアライズドビューは、手動で、またはトリガーを使用して更新する必要があります。
速度処理が遅い。高速処理。
メモリ使用量ビューにはメモリスペースは必要ありません。マテリアライズドビューはメモリスペースを使用します。
構文ビューVの名前を付けて作成 マテリアライズドビューを作成Vビルドリフレッシュオン


ビューの定義

ビューは 仮想テーブルを使用して作成 ビューを作成 コマンド。この仮想テーブルには、 クエリ式、[ビューの作成]コマンド。ビューは、1つまたは複数のベーステーブルまたはビューから作成できます。元のベーステーブルを照会するように、ビューを照会できます。

それは じゃない ビューが 事前計算済み そして 保存された 代わりにディスク上で、ビューは 計算された 使用またはアクセスされるたびに。ビューが使用されるたびに、[ビューの作成]コマンドのクエリ式がその特定の瞬間に実行されます。したがって、常に 更新しました ビューのデータ。

Viewのコンテンツを更新すると、元のテーブルに反映され、元のベーステーブルに変更が加えられた場合、そのビューに反映されます。しかし、これによりビューのパフォーマンスが向上します もっとゆっくり。たとえば、ビューは2つ以上のテーブルの結合から作成されます。その場合、ビューが使用されるたびに結合を解決するために時間を支払う必要があります。

しかし、それはいくつかあります 利点 それのように じゃない 要求する 収納スペース。作成できます カスタマイズされた 複雑なデータベースのビュー。あなたはできる 制限する ユーザーがデータベース内の機密情報にアクセスすること。を減らす 複雑 複数のテーブルから単一のカスタマイズされたビューにデータを取得することによるクエリの。

次に、Viewの構文を見てみましょう

ビューVの名前を付けて作成


覚えている すべてのビューは更新できません。 を使用して作成されたビューのように 区別する 句、 グループ化 句、 小切手 制約(チェック制約に違反する場合)、 読み取り専用 オプションは更新できません。

マテリアライズドビューの定義

マテリアライズドビューは 物理コピー 元のベーステーブルの。マテリアライズドビューは スナップショット または 画像 元のベーステーブルの。ビューと同様に、 クエリ式マテリアライズドビューを作成する コマンド。

しかし、ビューとは異なり、マテリアライズドビューは 事前計算済み そして 保存された オブジェクトのようなディスク上で、それらは 更新されていない それらが使用されるたびに。代わりに、マテリアライズドビューを更新する必要があります 手動で またはの助けを借りて 引き金。マテリアライズドビューを更新するプロセスは マテリアライズドビューのメンテナンス.

マテリアライズドビューは、ビューと比較してより高速に応答します。これは、マテリアライズドビューが事前に計算されているため、マテリアライズドビューを作成するクエリのクエリまたは結合に時間を無駄にしないためです。これにより、マテリアライズドビューで行われたクエリに対する応答が速くなります。

マテリアライズドビューの構文を確認しましょう。

マテリアライズドビューVを作成する
ビルドの更新
オン
なので

どこ 構築する マテリアライズドビューにデータを入力する時期を決定します。リフレッシュタイプは、マテリアライズドビューを更新する方法を決定し、トリガーは、マテリアライズドビューを更新するタイミングを決定します。

一般に、Materalized Viewsは データウェアハウス.

  1. ビューとマテリアライズドビューの基本的な違いは、ビューが 保存されていません 物理的にディスク上。一方、マテリアライズドビューは 保存された ディスクに。
  2. ビューは次のように定義できます 仮想テーブル クエリ式の結果として作成されます。ただし、マテリアライズドビューは 物理的なコピー、実表の画像またはスナップショット。
  3. ビューは常に 更新しました ビューを作成するクエリは、ビューが使用されるたびに実行されるため。一方、マテリアライズドビューは更新されます 手動で または適用することにより 引き金 それに。
  4. マテリアライズドビューが応答する もっと早く マテリアライズドビューが事前計算されるため、ビューよりも
  5. マテリアライズドビュー 活用する その メモリ空間 ディスクに保存されているのに対して、ビューは単なる 表示 したがって、メモリスペースは必要ありません。

結論:

マテリアライズドビューは、ビューと比較して応答が速くなります。ただし、Viewは常に最新の情報をユーザーに提供します。