Cassandra CQL选择'!='运算符

时间:2017-09-13 06:50:33

标签: cassandra cql cassandra-3.0

我知道CQL select语句不支持!=。而且,我也知道!=查询效率不高。但即使我准备接受过滤,为什么不允许呢?

例如,我想要这样的事情:Select * from foo where PK='something' and CK1='something' and CK2!='something' allow filtering

我的理由是,PKCK1之后基数会足够低,我不在乎Cassandra是否必须读取所有剩余的行。

问题:除了做应用程序端过滤器之外,有没有办法只使用CQL?

1 个答案:

答案 0 :(得分:2)

不,没有别的办法。您必须从应用程序层过滤它。

  

Cassandra在WHERE子句中支持这些条件运算符:CONTAINS,CONTAINS KEY,IN,=,>,> =,<,或< =,但在某些情况下并非全部。

来源:https://docs.datastax.com/en/cql/3.1/cql/cql_reference/select_r.html