マテリアライズ・ビューの作成
SQL を使い基本表からマテリアライズ・ビューを作成する際、SPM ビューの存続期間についてのビュー定義が保存され、このビューがマテリアライズ・ビューとして可視になります。 SPM ビューに関連付けられたレコードは、一意のテーブルにマテリアライズされる。 SPM データ・スライスは、対応する基本表のデータ・スライスと同じデータ・スライス上で収集され、ユーザーのディスク・パーティションに持続的に格納されます。
マテリアライズ・ビューを作成するには、次のように入力します。
MYDB.SCHEMA(USER)=> CREATE MATERIALIZED VIEW customers_mview AS SELECT
customer_name, customer_id FROM customers ORDER BY customer_id;マテリアライズ・ビューの作成には以下の条件が適用されます。
- FROM 節で指定できる基本表は 1 つだけです。
- WHERE 節を使用することはできません。
- 射影リストの列は基本表内の列でなければならず、式 (集約、数学演算子、キャスト、DISTINCT 演算子、その他の式) を使用することはできません。
- 射影リスト内の列を最低 1 つ指定する必要があります。
- オプションの ORDER BY 節で使われる列は、射影リスト内の 1 個以上の列である必要があります。 ORDER BY 節を指定しなければ、基本表のソート順序がそのままマテリアライズ・ビューで使われます。
- ORDER BY 式で NULLS LAST または DESC を指定することはできません。
- 外部表、一時表、システム表、クラスター基本表 (CBT) をビューの基本表として指定することはできません。
注:関連するSPMビューを持つベース・テーブルに新しいレコードを挿入すると、システムはその新しいレコードをマテリアライズド・ビュー・テーブルにも追加します。 したがって、マテリアライズ表には 2 つのエリアがあることになります。1 つはビューの作成時に生成されたソート済みのレコードの入るエリア、もう 1 つは SPM ビューの作成に続いて基本表に挿入された未ソートのレコードが入るエリアです。 照会のパフォーマンスが SPM ビューのソート状況に応じて変わる場合は、SPM ビューを定期的にサスペンドして最新表示することによって、手動で最新表示してください。