9

我需要获取没有特定键的行。样品:

 select * from users where user_id not in ("mikko");

我试过“不在”,这是回应:

Bad Request: line 1:35 no viable alternative at input 'not'
4

1 回答 1

10

“不在”不是 CQL 中支持的操作。Cassandra 的核心仍然基于键索引行。因此,该查询与“从用户中选择 *”基本相同,因为您必须遍历每一行并确定它是否与 in 不匹配。如果您想做那种类型的查询,您将需要设置一个地图减少工作来执行它。

使用 Cassandra 时,您真正想要做的是将数据模型反规范化,以便应用程序执行的查询最终会查询单个分区(或仅几个分区)的结果。

还可以找到一些关于 Cassandra 数据建模的精彩网络研讨会和讲座

于 2013-08-29T01:39:21.510 回答