我试图从cassandra数据库中检索分区键值为奇数的数据。现在我有了主键为p的表t。我试过了
Select * from t where token(p)%2=1;
但我得到了错误信息:syntaxexception:第1行:44在输入“%”处没有可行的替代项(…来自视频\u by \u标记,其中标记(tag)[%]…)我能做什么?
gwo2fgha1#
cassandra不支持这种算术运算,通常期望这种运算在客户机中解决,如这里所述您试图实现的查询具有非常低的基数(预期只有2个值),这造成了很大的影响,因为您将有效地检索所包含的所有信息的一半。这是一个长期的挑战没有银弹来完成这项工作,一个选项是添加一个额外的列,指示它是奇数还是偶数,并将其作为复合主键的一部分,另一个选项是有两个单独的表,一个用于奇数标记,另一个用于偶数值。
1条答案
按热度按时间gwo2fgha1#
cassandra不支持这种算术运算,通常期望这种运算在客户机中解决,如这里所述
您试图实现的查询具有非常低的基数(预期只有2个值),这造成了很大的影响,因为您将有效地检索所包含的所有信息的一半。这是一个长期的挑战
没有银弹来完成这项工作,一个选项是添加一个额外的列,指示它是奇数还是偶数,并将其作为复合主键的一部分,另一个选项是有两个单独的表,一个用于奇数标记,另一个用于偶数值。