Cassandra 忽略 FetchSize
Cassandra ignores FetchSize
我有一个有 1000 行的 cassandra table。我正在使用 datastax java 驱动程序 2.1.8 和 Cassandra 2.1.3
我已将准备好的 select 语句的 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 值,从空值开始。
但是结果returned忽略了fetchSize,虽然PageState对象是根据fetchSize创建的。循环中每个 运行 的结果计数是...
1000
990
980
...等等。
我想要的是驱动程序每次 return 10 个结果。我在这里错过了什么?
调用all()
将自动消耗所有剩余页面。有关如何手动获取结果批次的详细信息,请参阅 fetchMoreResults 上的 javadoc。
我有一个有 1000 行的 cassandra table。我正在使用 datastax java 驱动程序 2.1.8 和 Cassandra 2.1.3
我已将准备好的 select 语句的 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 值,从空值开始。
但是结果returned忽略了fetchSize,虽然PageState对象是根据fetchSize创建的。循环中每个 运行 的结果计数是... 1000 990 980 ...等等。
我想要的是驱动程序每次 return 10 个结果。我在这里错过了什么?
调用all()
将自动消耗所有剩余页面。有关如何手动获取结果批次的详细信息,请参阅 fetchMoreResults 上的 javadoc。