本文へスキップ

マテリアライズドビューとは?

まてりあらいずどびゅー

マテリアライズドビューとは、データベースにおいてクエリの結果を実体(テーブル)として事前に保存し、高速なデータ参照を実現する仕組みです。

マテリアライズドビュー(Materialized View)は、リレーショナルデータベースにおける仕組みの一つで、SELECT文の実行結果をディスク上に物理的なデータとして保存したオブジェクトです。通常のビュー(仮想テーブル)がアクセスのたびにSQLを再実行するのに対し、マテリアライズドビューはあらかじめ計算・集計した結果を保持するため、参照時の処理を大幅に高速化できます。

特に以下のような場面で効果を発揮します。

  • 大量レコードの集計・集約クエリ(売上合計・ランキングなど)
  • 複数テーブルを結合(JOIN)する複雑なクエリ
  • BI・レポーティングツールへのデータ提供
  • データウェアハウスやOLAP環境での分析処理

マテリアライズドビューはデータのスナップショットを保持するため、元データが更新されると内容が古くなります。この「鮮度」を維持するための更新方式には大きく二種類あります。一つは全データを再構築する「完全リフレッシュ」、もう一つは差分のみを反映する「増分(インクリメンタル)リフレッシュ」です。更新タイミングは手動・スケジュール・自動(元テーブル更新時)などから選択します。

PostgreSQL・Oracle・SQL Serverなど主要なRDBMSで対応しており、MySQLでは標準機能として搭載されていないため、テーブルとトリガーを組み合わせた代替実装が用いられることがあります。読み取り性能と更新コストのトレードオフを考慮した設計が重要です。

使い方・例文

Eコマースサイトで「カテゴリ別の売上ランキング」を毎回集計するとデータベースに高負荷がかかります。この集計結果をマテリアライズドビューとして保存しておくことで、ページ表示を高速化できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語