JDBC是否具有最大ResultSet大小?

spa*_*rks 11 java hive jdbc resultset

是否存在JDBC将特定于Hive查询放入ResultSet的最大行数?我不是在谈论获取大小或分页,而是在ResultSet中返回的总行数.

如果我错了,请纠正我,但是fetch size设置jdbc在数据库中每次传递时处理的行数,并在ResultSet中插入适当的响应.当它遍历表中的所有记录时,它将ResultSet返回给Java代码.我问的是返回Java代码的行数是否有限制.

如果它没有最大行数,那么类中是否存在可能导致某些记录被删除的固有内容?

Ser*_*sta 17

不,它不起作用.JDBC只是本机数据库的包装器.但是JDBC或数据库游标的工作方式相同:

  • 您将查询(通过JDBC)发送到数据库
  • 数据库分析查询并初始化游标(JDBC中的ResulSet)
  • 当您从ResultSet获取数据时,数据库软件会在数据库中遍历以获取新行并填充ResultSet

因此,ResultSet可以包含的行数没有限制,也不限制java客户端程序可以处理的行数.如果您尝试加载内存中的所有行以填充列表(例如并耗尽客户端应用程序内存),则会出现唯一的限制.但是如果您处理行并且不将它们保留在内存中,则没有限制(与读取文件时的情况完全相同).