複合パーティション・キーの使用

複合パーティション・キーを使用して、データの格納場所を識別します。

クエリーに対してソートされた結果を返すカラムを作成するには、プライマリ・キー内で複合パーティション・キーを使用します。次の例では、レースに参加したサイクリストのランキングと名前を格納するrank_by_year_and_nameテーブルを作成します。このテーブルでは、プライマリ・キーの複合パーティション・キーを定義するカラムとしてrace_yearrace_nameを使用します。クエリーは、年度とレース名の値を指定することにより、レースに参加したサイクリストのランキングを見つけます。

複合パーティション・キー・テーブルは、以下に示すように2通りの異なる方法で作成できます。

手順

  • cyclingキースペースにテーブルrank_by_year_and_nameを作成します。複合パーティション・キーとしてrace_yearrace_nameを使用します。ここに示したテーブル定義には、プライマリ・キーで使用される追加のカラムrankがあります。テーブルを作成する前にUSE文を使用してキースペースを設定します。この例では、プライマリ・キーはテーブル定義の末尾で指定されています。PRIMARY KEYで定義された最初の2つのカラムは二重の丸かっこで囲まれていることに注意してください。
    cqlsh> USE cycling; CREATE TABLE rank_by_year_and_name ( race_year int, race_name text, cyclist_name text, rank int, PRIMARY KEY ((race_year, race_name), rank) );
  • USE文の代わりに、CREATE TABLE文でキースペース名を使用してキースペースを識別することができます。
    cqlsh> CREATE TABLE cycling.rank_by_year_and_name ( race_year int, race_name text, cyclist_name text, rank int, PRIMARY KEY ((race_year, race_name), rank) );