Datastax驱动程序限制选项

时间:2014-04-04 05:49:49

标签: cassandra datastax-java-driver cassandra-cli

我使用datastax java驱动程序构造一个select查询。我使用限制选项设置限制。但我看到另一个属性也可以设置

setFetchSize(int size)

根据文档

DEFAULT_FETCH_SIZE- 5000。

http://www.datastax.com/drivers/java/2.0/com/datastax/driver/core/QueryOptions.html#DEFAULT_FETCH_SIZE

这是否意味着如果我连续有大约10000列,如果我的查询运行限制为3,它将始终获取指定的默认值 - 5000行,然后限制最后3行?

我认为限制查询默认情况下会在默认情况下单独获取最后3个值。有人可以澄清这个吗?

3 个答案:

答案 0 :(得分:6)

LIMIT设置引擎检索的最大行数,而setFetchSize设置在一次往返中返回给客户端的最大行数。

答案 1 :(得分:0)

cassandra LIMIT中的

与mysql或任何其他RDBMS限制不同,

默认情况下,当你执行select查询时,它会显示数据直到10000列,之后会显示1条消息超出限制,所以假设你在数据库中有50000条记录而你正在执行select查询那么只会出现10000条记录,所以现在你将执行查询select * from table LIMIT 50000,在这种情况下,所有50000数据都会显示..

答案 2 :(得分:0)

我认为fetchsize和limit之间的差异与其他数据库(如MySQL)的JDBC相同。

因此,LIMIT会将您的查询结果限制在指定范围内。

获取大小是当您使用next()滚动查询ResultSet时,驱动程序一次从数据库中物理检索的行数。