CREATE MATERIALIZED VIEW

Cassandra 3.0以降でマテリアライズド・ビューを作成します。

構文 

CREATE MATERIALIZED VIEW [IF NOT EXISTS] keyspace_name.view_name AS SELECT column1, column2, ...FROM keyspace_name.table_name WHERE column1 IS NOT NULL AND column2 IS NOT NULL ...PRIMARY KEY(column1, column2, ...)

構文の凡例 

  • 大文字はリテラルを意味する
  • 小文字は、リテラルでないことを意味する
  • イタリック体は指定が任意であることを意味する
  • パイプ(|)記号はORまたはAND/ORを意味する
  • 省略記号(...)は繰り返し可能を意味する
  • 範囲記号「(」および「)」はリテラルではなく、範囲を示す

この構文には、CQL文の終了となるセミコロンは含まれていません。

説明

Cassandra 3.0以降でCREATE MATERIALIZED VIEWを使用すると、指定されたベース・テーブルから新しいマテリアライズド・ビューが作成されます。

マテリアライズド・ビューを作成するには、特定の要件を満たす必要があります。
  • 元のテーブルのプライマリ・キーのカラムは、マテリアライズド・ビューのプライマリ・キーの一部である必要があります。
  • マテリアライズド・ビューのプライマリ・キーには1つのみの新しいカラムを追加できます。

マテリアライズド・ビューがテーブルから作成されます。プライマリ・キー内で使用されるフィールドは、WHERE句内のNULL以外の値に制約される必要があります。

CREATE MATERIALIZED VIEW cyclist_by_age AS SELECT age, birthday, name, country FROM cyclist_mv WHERE age IS NOT NULL AND cid IS NOT NULL PRIMARY KEY (age, cid);