Apache Cassandra CQL 查询解释计划

Apache Cassandra CQL queries explain plan

如何获得 CQL 查询的执行计划(或类似的计划)? 我没有找到任何关于 CQL 查询的综合文档 optimization/execution。

例如,我想知道,执行以下查询有什么不同:

select some_column from SOME_TABLE where 
pkField='val1' 
and timestampField='date' 
allow filtering;

select some_column from SOME_TABLE where 
pkField='val1' 
and timestampField<='date' 
and timestampField>='date' 
allow filtering;

Cassandra 不像大多数传统 RDBMS 那样使用复杂的查询优化器。由于缺少表之间的关系,索引的使用更具确定性。

在执行时,行分布在各个节点上,并且可能分布在节点内的多个 sstables 上。对于同一个查询,实际的读取路径会随着时间的推移而不同。

要获取有关查询执行的更多详细信息,请在您的 cqlsh 中使用 TRACING ON;