【发布时间】:2013-08-14 16:31:07
【问题描述】:
我不完全理解的 Cassandra 的一个主要部分是它的范围查询。我知道Cassandra强调分布式环境,注重性能,但可能正因为如此,它目前只支持几种可以高效完成的范围查询,我想知道的是:支持哪些范围查询卡桑德拉。
据我所知,Cassandra 支持以下范围查询:
1:以TOKEN为关键字的主键范围查询,例如:
CREATE TABLE only_int (int_key int PRIMARY KEY);
...
select * from only_int where token(int_key) > 500;
2:在二级索引上有一个相等条件的范围查询,关键字ALLOW FILTERING,例如:
CREATE TABLE example (
int_key int PRIMARY KEY,
int_non_key int,
str_2nd_idx ascii
);
CREATE INDEX so_example_str_2nd_idx ON example (str_2nd_idx);
...
select * from example where str_2nd_idx = 'hello' and int_non_key < 5 allow filtering;
但我想知道我是否遗漏了什么并寻找一个规范的答案,其中列出了当前 CQL 支持的所有类型的范围查询(或一些允许更多类型范围查询的解决方法)。
【问题讨论】:
标签: cassandra cql range-query