我不完全理解的 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 支持的所有类型的范围查询(或一些允许更多类型的范围查询的解决方法)。