【问题标题】:In Cassandra how to select rows by multiple filters?在 Cassandra 中如何通过多个过滤器选择行?
【发布时间】:2014-10-28 15:15:10
【问题描述】:

我有一张如下表: CREATE TABLE 测试 (a int; b int; c int; d int; PRIMARY KEY () );

我想选择0 应该如何设置PRIMARY KEY以及如何运行CQL查询?

谢谢!

【问题讨论】:

    标签: cassandra-2.0 cassandra-cli


    【解决方案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 ;
    

    【讨论】:

    • 感谢您的建议,但是,如果我想选择 0
    猜你喜欢
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多