【问题标题】:Cassandra ignores FetchSizeCassandra 忽略 FetchSize
【发布时间】:2015-12-11 11:34:04
【问题描述】:

我有一个 1000 行的 cassandra 表。我正在使用带有 Cassandra 2.1.3 的 datastax java 驱动程序 2.1.8

我已将准备好的选择语句的 fetchSize 设置为 10。 Scala 中的代码:

val stmt = preparedStatement.bind()
stmt.setFetchSize(10)
if(nextPage != null )
  stmt.setPagingState(nextPage)

val rs = session.execute(stmt)
println( rs.all().count ) 
val nextPage = rs.getExecutionInfo().getPagingState()

我在一个循环中运行它,每次都传递 nextPage 值,从一个空值开始。

但是返回的结果忽略了fetchSize,虽然PageState对象是根据fetchSize创建的。每次循环运行的结果计数是... 1000 990 980 ...等等。

我想要的是驱动程序每次返回 10 个结果。我在这里错过了什么?

【问题讨论】:

    标签: scala cassandra-2.0 datastax-java-driver


    【解决方案1】:

    调用all() 将自动消耗所有剩余页面。有关如何手动获取批量结果的详细信息,请参阅fetchMoreResults 上的 javadoc。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-15
    • 2018-12-12
    • 1970-01-01
    • 2021-04-19
    • 2016-10-13
    • 2020-08-27
    • 2019-01-22
    • 2016-08-08
    相关资源
    最近更新 更多