我完全理解表中的count(*),其中partitionId = 'test'
将返回行数。我可以看到它与 select * from table where partitionId = 'test
花费的时间相同。
Cassandra 中是否还有其他替代方法可以有效地检索行数?
最佳答案
如果运行 cqlsh,则可以比较 select *
和 select count(*)
的结果,并使用 tracing on
命令启用跟踪- 它将打印执行相应命令所需的时间。两个查询之间的区别仅在于应返回的数据量。
但无论如何,要查找 Cassandra 需要命中 SSTable 的行数,并扫描条目 - 如果您在多个 SSTable 之间分布分区,性能可能会有所不同 - 这可能取决于您选择的表压缩策略基于您的阅读/写作模式。
关于cassandra - Cassandra 中的总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48698222/