2017-03-07 63 views
0

有在卡桑德拉Cassandra如何在表中添加集羣密鑰?

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

如何在列「排序」添加聚集鍵的表。不會重新創建表

+0

的可能的複製[分區鍵,組合鍵和在卡桑德拉聚集鍵之間的差異?](http://stackoverflow.com/questions/24949676/difference-between-partition-key-composite-key-and-clustering-鍵合卡桑德拉) –

+0

Ⅰ號要添加一鍵排序到現有的表 – litehause

回答

0

的主要問題是在磁盤上的數據結構。直接集羣密鑰決定數據如何排序和序列化到磁盤(然後搜索),所以你所要求的是不可能的。

的唯一方法是將數據「遷移」到另一個表。根據您的數據,如果你有很多的記錄,你可以在查詢過程中遇到的一些超時錯誤,所以要準備好調整一些有用的技術遷移,如COPY命令或令牌功能。

看一看this SO問題也。

0

所有你需要做的就是把它添加作爲主鍵的第二部分,使之複合鍵

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

不重新創建表 – litehause

+0

它不可能。集羣關鍵是關於數據的排序,而這種排序是在寫入而不是在讀取時完成的。您需要重新創建表格 –