【问题标题】:Cassandra : How query with secondary index and clustering keys range workCassandra:如何使用二级索引和集群键范围进行查询
【发布时间】:2017-11-25 06:14:57
【问题描述】:

例如:

表A中,id为partion key,time为clustering key,deviceid为二级索引

查询 1) Select * from A where id=1234 and time > xx and time < vv and deviceid='dddd'; 这个查询是如何工作的? 我已启用跟踪。

它是先过滤二级索引,然后过滤范围。我期待相反。

上述工作会影响绩效吗?

【问题讨论】:

  • 附带说明:Cassandra 中的二级索引与传统数据库中的不同。实际上,它们最终会使集群的性能变差,或者除非非常小心地使用,否则它们将无法大规模工作。它们不是用于查询优化的。不要以与 RDMS 相同的方式思考它,除非绝对必要并且您完全理解原因,否则很可能会避免。

标签: cassandra


【解决方案1】:

没有。

Cassandra 将对两个查询使用相同的计划。

您可以在cql中使用TRACING ON命令查看cassandra用来获取记录的计划。

在这两种情况下它们都是相同的。

因为使用了分区键,所以在这两种情况下都只会引用单个节点。

【讨论】:

  • 但是我们使用的是第一个二级索引,然后是分区键。
猜你喜欢
  • 2016-06-13
  • 2016-07-21
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
  • 2022-08-11
相关资源
最近更新 更多