如果指定了分区键,Cassandra二级索引是否已优化?

奥哈德·布鲁克

对于在WHERE子句中指定了分区键的二级索引查询,二级索引查找会命中所有群集节点,还是仅触及指定分区键的节点?
如果后者是正确的,则二级索引也适用于高基数字段(仅适用于满足分区键的查询)。

编辑:例如,对于以下提要架构,查询特定提要(指定feed_id)以检索现有或已删除的提要项应该非常有效:

CREATE TABLE my_feed (
   feed_id int,
   item_id timeuuid,
   is_deleted boolean,
   data text,
   PRIMARY KEY (feed_id, item_id)
) WITH CLUSTERING ORDER BY (item_id DESC);

CREATE INDEX my_feed_is_deleted_idx ON my_feed (is_deleted);

==> SELECT * FROM my_feed WHERE feed_id=1 AND is_deleted=false; --efficient?
骨灰

如果您先按分区键,那么它将不是集群范围的操作。仅目标分区将被命中。如果分区中有很多行,而行很宽,那么一旦命中分区,二级索引将是一种有效的过滤方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

即使我在所有查询中都将分区索引与分区键一起指定,二级索引在Cassandra中始终不是一个好主意吗?

Apache Cassandra中的二级索引

为什么键前缀优化不适用于群集列上的二级索引?

如何在DynamoDB ..中将排序键设置为全局二级索引(另一个分区键)?

如果DynamoDB二级索引内部没有任何属性更改,是否会被重写?

为什么Cassandra没有二级索引?

二级索引在Cassandra中如何工作?

低基数列cassandra的二级索引

使用二级索引更新Cassandra 2.1中的行

Cassandra中二级索引的范围查询

为什么二级索引在Cassandra中效率较低?

二级索引 - ValidationException:提供的起始键无效

键/值数据库的二级索引

卡桑德拉复合键上的二级索引

查询全局二级索引:'MissingRequiredParameter:缺少必需的键

如果不是MaterializedViews而不是二级索引,那么在cassandra中查询数据的推荐方式是什么

二级分区成为主分区

hbase 0.94.18是否支持二级索引?

DynamoDB 二级索引是否包含实际的表行?

是否可以在本地二级索引的排序键上使用ComparisonOperator.IN在DynamoDB中过滤查询结果?

如果我有一个二级索引表和一个外键,索引是不是按唯一外键创建的?

Dynamodb全局二级索引-是否所有二级索引都需要相似的吞吐量?

Cassandra / Redis:在没有Cassandra'IN'二级索引的情况下创建提要的方法?

Cassandra中的聚簇列和二级索引有什么区别

在Cassandra中具有二级索引的高可用性和性能考虑

Cassandra:具有多个WHERE子句的查询的二级索引

我可以在cassandra的UDT字段上创建二级索引吗?

如何按Cassandra中的二级索引或列对结果排序?

如何在 Cassandra 2.1.6 中获取二级索引的统计信息(例如磁盘大小)?