对于在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] 删除。
我来说两句