【まてりあらいずどびゅー】
マテリアライズドビュー とは?
💡 ビューの結果を「実体として保存」して高速に読み出す仕組み
📌 このページのポイント
普通のビューとどう違うの?
どういう場面で使うの?
「日別の売上集計」「月次レポート」のように計算が重くて、リアルタイム性がそこまで求められないケース。毎回数億行を集計するより、結果を保存しておいて定期的にREFRESHするほうがずっと効率的。ダッシュボードの裏側でよく使われるよ。
REFRESHってどうやるの?
PostgreSQLなら「REFRESH MATERIALIZED VIEW view_name」で再計算できる。CONCURRENTLY オプションを付ければ、リフレッシュ中もビューを読み取れる(ただしUNIQUEインデックスが必要)。リフレッシュはcronジョブやスケジューラで定期実行するのが一般的。
MySQLにはマテリアライズドビューってないの?
まとめ:ざっくりこれだけ覚えればOK!
マテリアライズドビューって出てきたら「ビューの結果を実体として保存しておいて、重い集計を高速化する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Materialized View」 = 実体化された(Materialized)ビュー(View)
💬 Materializeは「実体化する」。通常のビューが仮想テーブルなのに対し、実体を持つビューという意味