cassandra cql中limit的影响是什么

dar*_*lus 1 cassandra cqlsh

执行 cqlsh 查询时select * from table limit 10,cassandra 会扫描整个表并只返回前 10 条记录,还是可以在不扫描整个表的情况下精确定位整个数据中心的前 10 条记录?

Eri*_*rez 6

LIMIT选项设置了查询返回的最大行数的上限,但它不会阻止查询执行全表扫描。

Cassandra 具有请求超时等内部机制,可防止错误查询导致集群崩溃,因此查询更有可能超时,而不是通过扫描所有节点/副本来使集群过载。

作为旁注,该LIMIT选项在与 with 一起使用时无关紧要,SELECT COUNT()因为 count 函数仅返回 1 行(按设计)。COUNT()无论限制设置如何,都需要进行全表扫描。我在这篇文章中更详细地解释了它——https: //community.datastax.com/questions/6897/。干杯!