数据存储cassandra java驱动程序的访问器是否使用分页?

时间:2016-11-03 09:21:22

标签: cassandra datastax datastax-java-driver

用于cassandra的Datastax的java驱动程序提供了Accessor。请参阅here

参考下面的示例,他们是分批进行分页和获取记录还是存在查询超时的风险?

Statement stmt = new SimpleStatement("SELECT * FROM user");
stmt.setFetchSize(24);
ResultSet rs = session.execute(stmt);

当我说分页时,他们会在内部做类似下面的事情

{{1}}

2 个答案:

答案 0 :(得分:5)

是的,幕后使用了提取大小。驱动程序将根据需要自动为您页面。

您可能希望通过@QueryParameters设置抓取大小。此时的默认值为5k,请参阅DEFAULT_FETCH_SIZE

答案 1 :(得分:1)

以下是我如何在Accessor中的@QueryParameters注释中使用fetchSize的示例:

@Accessor
public interface UserAccessor {       

  @Query("SELECT * FROM users")
  @QueryParameters(fetchSize = 1000)
  Result<User> getAllUsers();
}