首页 > 解决方案 > 自动分页是否可以在不提供限制的情况下在 Cassandra 中工作?

问题描述

在阅读了 doc(driver doc) 和几个答案之后,Cassandra 2.0+ 似乎具有自动分页功能。但是所有这些示例都包含LIMIT关键字。

此查询是否适用于自动分页:

current_version_query = "SELECT id, row_hash FROM {} WHERE version={}".format(
            self.table_name, self.diff_source_version
        )
        current_version_rows = self.session.execute(
            current_version_query
        )

我在这里迭代它: for current_version_row in current_version_rows:

标签: pythonpython-3.xcassandracqlcql3

解决方案


有两个限制,一个提取大小和一个总请求限制(LIMIT子句)。当您发出任何请求时,都会有一个默认的 5000 提取限制和 max_int 查询限制。

驱动程序将默认分页 5000 行批次,直到达到查询限制或结果结束。如果您的行很大以减少协调器因构建 MB 的响应负载而产生的负载,则降低此值通常是一个好主意。


推荐阅读