在Cassandra中,我理解默认情况下,给定PRIMARY KEY(id1,id2),id1将是分区键,而id2将是聚类键。
我想知道是否可以在没有任何聚类键的情况下定义两个分区键,如下所示:
PRIMARY KEY ((id1, id2));
答案 0 :(得分:5)
PRIMARY KEY ((id1, id2))
是正确的,并且您指定的一个分区键包含两个列。 在第二种情况下,您只能通过指定两个列值来查询数据。 EG:
SELECT * FROM mytable WHERE id1=1 AND id2=3;
和类似的查询:
SELECT * FROM mytable WHERE id1=1;
将失败,因为id2
是主键的一部分。