DB2逆引きリファレンス目次】 【DB2逆引きリファレンス目次#実装編】 【DB2逆引きリファレンス目次#表とビュー

前提

解説

マテリアライズ照会表(MQT)を定義するには、CREATE TABLEを用います。

CREATE TABLE 表名 AS ( 全選択 )
  [DATA INITIALLY DEFERRED REFRESH 更新方式 ]
  [ENABLE QUERY OPTIMIZATION]
  [MAINTAINED BY USER]

表名
: 定義するマテリアライズ照会表の名前を指定します。

全選択
: 表の定義を行うための全選択を記述します。

DATA INITIALLY DEFERRED
: 表作成時にデータを初期化しません。データを初期化するにはREFRESH TABLEを用います。

REFRESH 更新方式
: 表のデータの保守方法を以下のいずれかで指定します。

DEFERRED
: REFRESH TABLEを実行することで、表のデータを更新します。

IMMEDIATE
: 基本表への更新、削除、挿入は、マテリアライズ照会表に即座に反映されます。

ENABLE QUERY OPTIMIZATION
: マテリアライズ照会表を用いたクエリーの最適化を許可します。

MAINTAINED BY USER
: マテリアライズ照会表に対する直接の更新、削除、挿入を許可します。このオプションを指定すると、REFRESH TABLEによる表の更新はできなくなります。

使用例

基本表(ここではparts)への全選択に基づいてマテリアライズ照会表(ここではmqt1)を定義する例。

db2 ==> CREATE TABLE mqt1 AS ( SELECT type, SUM(amount) AS total FROM parts GROUP BY type ) DATA INITIALLY DEFERRED REFRESH DEFERRED↓

注意

参照