2016-09-07 64 views
2

在卡桑德拉,我明白,默認情況下,給定PRIMARY KEY(id1,id2),id1將分區鍵和id2將聚類鍵。分區鍵只在卡桑德拉

我想知道如果我可以定義兩個分區鍵沒有任何聚集關鍵字如下:

PRIMARY KEY ((id1, id2)); 

回答

4
  1. 你的理解是正確的。
  2. 您的PRIMARY KEY ((id1, id2))是正確的,您在指定一個分區鍵包含兩個列。

在第二種情況下,可以只通過指定列的值查詢數據。 EG:

SELECT * FROM mytable WHERE id1=1 AND id2=3; 

和查詢:

SELECT * FROM mytable WHERE id1=1; 

會失敗,因爲id2是你的主鍵的一部分。

+0

感謝您的明確解釋:) – stackyyflow