分页大型查询:总数
Paging Large Queries: total number
关于 Cassandra 和分页。我可能会猜到答案,但只是为了确定;
我知道如何请求页面大小,但是否有可能获得查询的最终总数。就像您查询 select * from tableName
的页面大小为 10,但如果您不使用分页,您将获得 100。使用页面大小 10 时是否有可能获得数字 100?
注意:如果有用的话,我用的是gocql
。
简单的回答是否定的,在你的例子中得到数字 100 意味着知道 "SELECT count(*) FROM table" 的结果,这是一个 perf killer 查询。
您可以获得的最好结果是使用 nodetool 或直接调用 估计每个节点的分区数 JMX Beans。但它不会让你估计 CQL 行(因为如果你的 table 有聚类列,在 1 个分区中可能有 N 行)
关于 Cassandra 和分页。我可能会猜到答案,但只是为了确定;
我知道如何请求页面大小,但是否有可能获得查询的最终总数。就像您查询 select * from tableName
的页面大小为 10,但如果您不使用分页,您将获得 100。使用页面大小 10 时是否有可能获得数字 100?
注意:如果有用的话,我用的是gocql
。
简单的回答是否定的,在你的例子中得到数字 100 意味着知道 "SELECT count(*) FROM table" 的结果,这是一个 perf killer 查询。
您可以获得的最好结果是使用 nodetool 或直接调用 估计每个节点的分区数 JMX Beans。但它不会让你估计 CQL 行(因为如果你的 table 有聚类列,在 1 个分区中可能有 N 行)