Cassandra:具有二级索引和集群键的查询如何工作
例: 在表A中,id是分区键,time是集群键,deviceid是二级索引 查询1)Cassandra:具有二级索引和集群键的查询如何工作,cassandra,Cassandra,例: 在表A中,id是分区键,time是集群键,deviceid是二级索引 查询1)从其中id=1234和time>xx和time
从其中id=1234和time>xx和time
这个查询是如何工作的?
我已启用跟踪
首先是筛选二级索引,然后是筛选范围。我原以为是相反的
上述工作是否影响绩效?否
Cassandra将对这两个查询使用相同的计划
您可以在cql中使用跟踪命令查看cassandra用于获取记录的计划
在这两种情况下,它们将是相同的
因为使用了分区键,所以在这两种情况下只会引用单个节点。但我们使用的是第一个二级索引,然后是分区键。正如旁注:Cassandra中的二级索引与传统dbs中的二级索引不同。实际上,它们最终会使集群的性能变得更差,或者除非非常小心地使用,否则无法大规模工作。它们不是用于查询优化的。不要像RDMS那样考虑它,除非绝对必要并且您完全理解原因,否则最有可能避免。