JDBC在从Hive查询中将放入ResultSet的最大行数是否有限制?我不是指fetch size或分页,而是指ResultSet中返回的总行数。 请纠正我如果我错了,fetch size设置JDBC每次在数据库中处理的行数并将适当的响应插入ResultSet。当它遍历表中的所有记录时,它将ResultSet返回给Java代码。我想知道返回给Java代码的行数是否有限制。 如果没有最大行数,那么这个类本身是否存在可能会导致某些记录被修剪掉的因素?
不,它不是这样工作的。JDBC只是本机数据库的包装器。但是,无论是JDBC还是数据库游标都可以实现以下操作: 您通过JDBC向数据库发送查询 数据库分析查询并初始化游标(在JDBC中为ResulSet) 当您从ResultSet中获取数据时,数据库软件会遍历数据库以获取新行并填充ResultSet 因此,ResultSet可以包含的行数没有限制,Java客户端程序可以处理的行数也没有限制。唯一的限制是如果您尝试将所有行加载到内存中以填充列表,那么可能会用尽客户端应用程序的内存。但是,如果您处理行并且不将它们保留在内存中,则没有限制(就像读取文件时发生的情况一样)。
Integer.MAX_SIZE
。 - Luiggi MendozaInteger.MAX_SIZE
https://dev59.com/cmsz5IYBdhLWcg3w0rZC#7632240 或可用于存储记录的内存(以先耗尽者为准)。 - Jason Sperske