更新时间:2024-05-30 GMT+08:00

如何设置分页查询(Python)

使用分页

在使用Python driver进行查询时,可以指定每次查询获取的行数,具体为下列样例查询中的fetch_size参数。

query = "SELECT * FROM space3.table3;"  # table3 contains 100 rows
statement = SimpleStatement(query, fetch_size=10)

此后执行该查询,将会每次获取行数为10的页。在缓存(10行)耗尽后会触发获取下一页的请求,并且等待请求返回,会有等待时间相应延迟。

result = session.execute(statement)
# 打印当前缓存行数,为10行
print(result.current_rows)
# 在迭代过程中会自动获取下一页
for row in result:
    print(row)

保存分页状态并复用

  1. 保存当前分页状态。
    # 保存分页状态
    web_session['paging_stage'] = results.paging_state
  2. 加载并进行复用。
    statement = SimpleStatement(query, fetch_size=10)
    ps = web_session['paging_state']
    results = session.execute(statement, paging_state=ps)

    更多高级用法与介绍可以参考对应driver的使用手册分页章节