マテリアライズドビューの作成と更新
マテリアライズドビューと非マテリアライズドビューは、どちらもクエリによって定義されるため、構文はよく似ています。大きな違いの一つは、マテリアライズドビューは更新(リフレッシュ)できますが、非マテリアライズドビューにはそのような概念がない点です。マテリアライズドビューの更新方法を理解しておくことは重要です。更新しないと、ビューはビュー作成時点のスナップショットのままになってしまいます。
この演習では、genres テーブルからマテリアライズドビューを作成します。その後、genres に新しいレコードが挿入されます。ビューに最新のデータを反映させるために、リフレッシュを行いましょう。
この演習はコースの一部です
データベース設計
演習の手順
- 各ジャンルのレビュー数を保持するマテリアライズドビュー
genre_countを作成してください。 - ビューを最新の状態にするために、
genre_countをリフレッシュしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- Create a materialized view called genre_count
___ ___ ___ ___ ___
SELECT genre, COUNT(*)
FROM ___
GROUP BY genre;
INSERT INTO genres
VALUES (50000, 'classical');
-- Refresh genre_count
___ ___ ___ ___;
SELECT * FROM genre_count;