2017-03-07 6 views
0

テーブルには、どのように列「ソート」でクラスタ化キーを追加カサンドラカサンドラどのようにテーブルにクラスタリングキーを追加するには?

create table test_moments(id Text, title Text, sort int, PRIMARY KEY(id)); 

です。テーブル

+0

[Cassandraのパーティションキーと複合キーとクラスタリングキーの違い?](http://stackoverflow.com/questions/24949676/difference-between-partition-key-composite-key-and-clustering- –

+0

)既存のテーブルにソートするためのキーを追加したい – litehause

答えて

0

作るためにPRIMARY KEYの第二部として追加される主な問題は、ディスク上のデータ構造です。クラスタリングキーは、データをソートしてディスクにシリアライズする方法(および検索する方法)を直接指示するので、あなたが求めていることは不可能です。

唯一の方法は、データを別のテーブルに「移行する」ことです。データにもよりますが、多くのレコードがある場合は、クエリ中にタイムアウトエラーが発生する可能性があるため、COPYコマンドやTOKEN機能などの便利なテクニックを使用して移行を調整してください。

thisもご覧ください。

0

再作成していないあなたがやらなければならないことは、それ複合キー

create table test_moments(id Text, title Text, sort int, PRIMARY KEY(id, sort)); 
+0

テーブルを再作成しない – litehause

+0

それは不可能です。クラスタリングキーはデータの並べ替えを考慮し、この並べ替えは書き込みで行われ、読み取りでは行われません。あなたはテーブルを再作成する必要があります –

関連する問題