我的桌子如下
CREATE TABLE T (
A int PRIMARY KEY,
B int,
C int
);
并且我需要检索A
和10
之间的值为1122
的数据
在SQL中,我们可以使用BETWEEN子句来做到这一点。
由于Cassandra不支持使用>,因此<我无法对其进行查询。
谁能帮我这个忙。
答案 0 :(得分:2)
Cassandra不允许单独执行该查询,因为它需要读取表中的所有数据并过滤掉数据。您需要更改数据模型以支持您的查询,而无需进行无法扩展且无法有效分发的操作。实际上,您可以使用ALLOW FILTERING
标志来进行这项工作,以承认您忽略了所有智慧和建议。这是一次性调试和专门的批量操作的更多内容,如果在应用程序中使用它,则会引起问题:
SELECT * FROM T WHERE A > 10 AND A < 1122 ALLOW FILTERING;