View
ビューは、格納されたクエリ定義(仮想テーブル)で、データを保持せず、クエリ実行時に動的に計算される。クエリの簡素化、セキュリティの分離、抽象化に使われる。
目的
クエリの抽象化とデータのセキュリティ分離を提供し、複雑なクエリの再利用を簡単にする。
メカニズム
CREATE VIEW name AS SELECT... で定義する。ビューはデータではなくクエリ定義を格納し、クエリ実行時にサブクエリへ展開される。列/行単位のアクセスを制限できる(セキュリティ)。マテリアライズドビューは結果を物理的に格納して定期更新するため、重い計算に向く。
ユースケース
- 複雑なクエリのカプセル化と再利用
- 列/行レベルの権限分離
- データの抽象化と互換性の維持
- レポートの事前計算(マテリアライズドビュー)
例
- 入力
CREATE VIEW active_users AS SELECT * WHERE activeOutputVirtual tableComputed dynamically
よくあるエラー
- Deeply nested complex views perform poorly
- Use materialized views or optimize the underlying query