我使用datastax java驱动程序构造一个select查询。我使用限制选项设置限制。但我看到另一个属性也可以设置
setFetchSize(int size)
根据文档DEFAULT_FETCH_SIZE- 5000。
这是否意味着如果我连续有大约10000列,如果我的查询运行限制为3,它将始终获取指定的默认值 - 5000行,然后限制最后3行?
我认为限制查询默认情况下会在默认情况下单独获取最后3个值。有人可以澄清这个吗?
答案 0 :(得分:6)
LIMIT
设置引擎检索的最大行数,而setFetchSize
设置在一次往返中返回给客户端的最大行数。
答案 1 :(得分:0)
与mysql或任何其他RDBMS限制不同,
默认情况下,当你执行select查询时,它会显示数据直到10000列,之后会显示1条消息超出限制,所以假设你在数据库中有50000条记录而你正在执行select查询那么只会出现10000条记录,所以现在你将执行查询select * from table LIMIT 50000
,在这种情况下,所有50000数据都会显示..
答案 2 :(得分:0)
我认为fetchsize和limit之间的差异与其他数据库(如MySQL)的JDBC相同。
因此,LIMIT会将您的查询结果限制在指定范围内。
获取大小是当您使用next()滚动查询ResultSet时,驱动程序一次从数据库中物理检索的行数。