【Oracle】ビューとマテリアライズドビューの違いを理解する【過去問修行】

目標

このブログでは、Oracle Silver 資格取得を目指す方のために、過去問の解説やポイントを共有し、理解を深めることを目的としています。

勉強方法

  • 実際の過去問を解いて、現在の理解度を把握する。
  • 間違えた問題をチェックし、解説を通して理解を深める。
  • 理解した内容を実際のSQL環境で試してみる。
  • 類似問題を解くことで、知識を定着させる。

問題

次のうち、ビューとマテリアライズドビューの違いとして誤っているものを選択してください。

選択肢

  • A. ビューは仮想テーブルであり、データを保持しない
  • B. マテリアライズドビューはデータを物理的に保持する
  • C. ビューは、データの更新を自動的に反映するが、マテリアライズドビューは手動でリフレッシュする必要がある
  • D. ビューはデータを事前に格納することでパフォーマンスを向上させる

正解

D. ビューはデータを事前に格納することでパフォーマンスを向上させる

解説

ビューは仮想的なテーブルであり、データを事前に格納することはありません。データは元のテーブルから取得されるため、パフォーマンス向上の効果は限定的です。一方、マテリアライズドビューはデータを物理的に格納し、事前計算を行うことでパフォーマンスを向上させます。

間違い選択肢の解説

  • 選択肢A: 正しい。ビューは仮想テーブルであり、データを保持しない。
  • 選択肢B: 正しい。マテリアライズドビューは物理的にデータを保存する。
  • 選択肢C: 正しい。ビューは元のデータをそのまま反映するが、マテリアライズドビューは手動またはスケジュールによるリフレッシュが必要。

ポイント

  • ビューは仮想テーブルであり、データを保持しない。
  • マテリアライズドビューはデータを物理的に格納し、クエリパフォーマンスを向上させる。
  • ビューは元のデータをリアルタイムで反映する。
  • マテリアライズドビューは定期的にリフレッシュされる。

実践例

-- ビューの作成
CREATE VIEW emp_view AS
SELECT employee_id, name, department_id FROM employees;

-- マテリアライズドビューの作成
CREATE MATERIALIZED VIEW emp_mv AS
SELECT employee_id, name, department_id FROM employees;

まとめ

ビューは仮想テーブルであり、データを保持しない。一方、マテリアライズドビューはデータを保存し、パフォーマンス向上に貢献する。


このブログは Oracle Silver 資格取得を目指す方向けに、過去問の解説やポイントを共有するためのものです。