コンテンツへスキップ
uencoder

View

ビューは、格納されたクエリ定義(仮想テーブル)で、データを保持せず、クエリ実行時に動的に計算される。クエリの簡素化、セキュリティの分離、抽象化に使われる。

目的

クエリの抽象化とデータのセキュリティ分離を提供し、複雑なクエリの再利用を簡単にする。

メカニズム

CREATE VIEW name AS SELECT... で定義する。ビューはデータではなくクエリ定義を格納し、クエリ実行時にサブクエリへ展開される。列/行単位のアクセスを制限できる(セキュリティ)。マテリアライズドビューは結果を物理的に格納して定期更新するため、重い計算に向く。

ユースケース

  • 複雑なクエリのカプセル化と再利用
  • 列/行レベルの権限分離
  • データの抽象化と互換性の維持
  • レポートの事前計算(マテリアライズドビュー)

例

  • 入力
    CREATE VIEW active_users AS SELECT * WHERE active
    Output
    Virtual table

    Computed dynamically

よくあるエラー

Deeply nested complex views perform poorly
Use materialized views or optimize the underlying query

関連用語

References