检查Cassandra选择查询是否达到限制

时间:2019-06-05 15:32:36

标签: cassandra

我想检查选择查询是否达到限制。在这种情况下,我想避免获取任何结果并且什么也不做:

Statement statement = session.prepare("SELECT user_id, payload FROM db.users WHERE user_id = :user_id LIMIT 5000").bind().setUUID("user_id", userId).setFetchSize(100)
ResultSet resultSet = session.execute(statement)
if (resultSet didn't reached the limit of 5000) {
  //do stuff
} else {
  //do nothing
}

我以为getAvailableWithoutFetching可以做到这一点,但是它返回每页结果数(提取大小)。
有没有一种无需额外查询就可以计数的方法?
这应该是一种罕见的情况,我不想每次都创建一个额外的查询来检查限制。特别是在count(*)扫描所有结果而没有限制选项的情况下-Cassandra CQL Select count with LIMIT

1 个答案:

答案 0 :(得分:0)

是否有一种无需额外查询即可完成计数的方法?

不。您的“非获取”查询就是这样,即查询计数。