【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 資格取得を目指す方向けに、過去問の解説やポイントを共有するためのものです。
最近のコメント