【问题标题】:Handling Paged results in cassandra在 cassandra 中处理分页结果
【发布时间】:2017-10-18 08:51:14
【问题描述】:

我正在查看 this 。但无法弄清楚它是如何工作的。我的期望是当我会做session_execute 它会给我10fetch_size=10

query = "SELECT * FROM users where region_code=1"
statement = SimpleStatement(query, fetch_size=10)
for user_row in session.execute(statement):
    print(user_row)
    print('*'*100)

它只给我单行。我在这里缺少什么。我想让它成为paginated api

【问题讨论】:

    标签: python cassandra cql datastax-enterprise


    【解决方案1】:

    如果您使用SELECT * FROM users where region_code=1 LIMIT 10,它将获取 10 条记录。如果你使用SELECT * FROM users where region_code=1 获取大小为 10,它将通过一次抓取 10 的所有匹配行进行分页。在您的 for 循环消耗 10 行后,它将进行另一个阻塞查询以自动获取下一个 10。

    【讨论】:

    • 知道了,我的 results.current_rows 给了我 10 行 (fetch_size)。我也在使用paging_state 来获取下一组。但是我怀疑如果用户从页面 1 跳转到 5 那么这不是正确的方法吗?
    • 另外,如果用户想将第 4 页回溯到第 3 页,这里也行不通吧?
    猜你喜欢
    • 2015-08-08
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 2018-04-09
    • 2017-05-14
    • 2014-06-30
    • 1970-01-01
    相关资源
    最近更新 更多