【问题标题】:CQL and range on secondary indexed columns二级索引列上的 CQL 和范围
【发布时间】:2013-08-20 05:03:41
【问题描述】:

下面的 CQL 查询导致错误提示

使用等于运算符的 by-columns 子句中不存在索引列

请注意,age 列已被二级索引。

select * from employee where age > 25

但是我有另一个二级索引列type。所以当我用那个...

select * from employee where type='engineer' and age > 25

我似乎得到了正确的结果。

这是怎么发生的?

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    Cassandra 的内置二级索引更像是散列式索引,而不是 B 树。

    因此,至少需要一次相等比较才能有效地执行查找(任何额外的列谓词都会导致相等匹配的延迟过滤)。

    尝试以下 wiki 页面,了解有关 Cassandra 二级索引的问题的一个不错的起点:http://wiki.apache.org/cassandra/SecondaryIndexes

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 2014-09-13
      • 1970-01-01
      • 2016-04-05
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-03
      相关资源
      最近更新 更多