如何处理Cassandra中分区键上的BETWEEN子句

时间:2019-04-23 07:51:07

标签: cassandra key between partition

我的桌子如下

CREATE TABLE T (
  A int PRIMARY KEY,
  B int,
  C int
);

并且我需要检索A10之间的值为1122的数据 在SQL中,我们可以使用BETWEEN子句来做到这一点。 由于Cassandra不支持使用>,因此<我无法对其进行查询。 谁能帮我这个忙。

1 个答案:

答案 0 :(得分:2)

Cassandra不允许单独执行该查询,因为它需要读取表中的所有数据并过滤掉数据。您需要更改数据模型以支持您的查询,而无需进行无法扩展且无法有效分发的操作。实际上,您可以使用ALLOW FILTERING标志来进行这项工作,以承认您忽略了所有智慧和建议。这是一次性调试和专门的批量操作的更多内容,如果在应用程序中使用它,则会引起问题:

SELECT * FROM T WHERE A > 10 AND A < 1122 ALLOW FILTERING;