我需要获取没有特定键的行。 样品:
select * from users where user_id not in ("mikko");
我试过“不在”,这是回应:
Bad Request: line 1:35 no viable alternative at input 'not'
答案 0 :(得分:10)
“not in”不是CQL中支持的操作。 Cassandra的核心仍然是基于关键的索引行。所以查询基本上与“select * from users”相同,因为你必须遍历每一行并弄清楚它是否与in匹配。如果你想做那种类型的查询,你需要设置一个地图减少工作以执行它。
使用Cassandra时,您实际想要做的是对数据模型进行反规范化,以便应用程序执行的查询最终查询单个分区(或只是几个分区)以获得结果。
还可以找到一些关于Cassandra数据建模的精彩网络研讨会和讲座