首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个Cassandra二级索引是如何工作的?

多个Cassandra二级索引是如何工作的?
EN

Stack Overflow用户
提问于 2014-08-05 10:33:40
回答 1查看 413关注 0票数 0

由于Cassandra没有执行计划,我们想知道多个二级索引是如何工作的?也就是说,如果查询是按不同的列顺序进行过滤的,那么哪个二级索引会得到优先选项?为什么?

我们知道它们是一种糟糕的做法,应该用于低基数集或许多重复项,但我们正在尝试利用现有的遗留cassandra表,不能同时使用cassandra二级索引和SOLR索引,所以这里没有选择。

这里也没有太多讨论:http://www.datastax.com/docs/1.1/ddl/indexes

EN

回答 1

Stack Overflow用户

发布于 2014-08-05 12:12:59

二级索引类似于您自己创建的查找表,由cassandra管理。节点存储它所包含的行的索引信息。对节点上的索引的更新和对该节点上的数据的更新是原子的。如果在查询中使用了多个索引,则实际上只会使用一个索引。我希望有人能纠正我,但据我所知,您的谓词中的第一个筛选器将被使用。

不要将索引视为全局查找(在一般情况下)。这将导致恼人的性能问题,等等。可以将索引看作是一种快速到达分区内某些列的方法,在该分区上,您希望相等过滤器所针对的列不是聚集键(或者您希望能够在不指定第一个聚集键的情况下过滤第二个聚集键)。如果你命中一个分区,那么索引性能通常是不错的。关于低基数的信息是正确的-基数越高,索引的性能就越差。

这里有一个关于索引的简短常见问题解答:http://wiki.apache.org/cassandra/SecondaryIndexes

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25130332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档