0

我有一个如下表: CREATE TABLE test ( a int; b int; c int; d int; PRIMARY KEY () );

我想选择 0 < a < 10 和 0 < b < 10 的数据,我应该如何设置 PRIMARY KEY 以及如何运行 CQL 查询?

谢谢!

4

1 回答 1

-1

不允许在分区键上使用范围运算符 (< >),除非您使用 ByteOrderedPartitioner,它有几个与性能相关的缺点。

否则,使用默认的 Murmur3Partitioner,您有两个选择。第一个解决方案:

create table test (
    a int,
    b int,
    c int,
    d int,
    primary key ((a,b))
);

然后对于 1..10 中的 X

select * from test where a = X and b in (1,2,3,4,5,6,7,8,9,10)

第二种解决方案:

create table test (
    a int,
    b int,
    c int,
    d int,
    primary key (a,b)
);

然后

select * from test where a in (1,2,3,4,5,6,7,8,9,10) and b >=1 and b <= 10 ;
于 2014-10-29T10:14:22.243 回答