マテリアライズドビューは、クエリ結果を物理的にテーブルとして保存する仕組みです。
通常のビューは実行時にクエリを動的に処理しますが、マテリアライズドビューは事前に計算された結果を保存するため、複雑な集計処理や結合処理を高速化できます。
特に、複数テーブルからのデータ統合、集計処理、レポート生成などで威力を発揮します。ただし、元テーブルのデータが更新されても自動的には反映されないため、トリガーや定期実行でのリフレッシュが必要です。
実際にDBの容量を必要とするので、パフォーマンスに注意です。
PostgreSQLではREFRESH MATERIALIZED VIEWコマンドで更新し、CONCURRENTLYオプションを使用すれば読み取りをブロックせずに更新できます。データウェアハウスやBI用途で特に有効な技術です。