ResultSet是将所有数据加载到内存还是仅在请求时加载?

我有一个.jsp页面,其中有一个GUI表,该表显示来自Oracle数据库的记录。该表允许典型的分页行为,例如“ FIRST”,“ NEXT”,“

PREVIOUS”和“ LAST”。记录是从Java ResultSet对象获得的,该对象是从执行SQL语句返回的。

这个ResultSet可能很大,所以我的问题是:

如果我的ResultSet包含一百万条记录,但是我的表仅显示ResultSet中前十条记录中的数据,是仅当我开始请求记录数据时才提取数据,还是一旦ResultSet将所有数据全部加载到内存中执行SQL语句返回什么?

回答:

Java

ResultSet是数据库中结果的指针(或游标)。ResultSet从数据库中以块的形式加载记录。因此,为回答您的问题,仅在请求时才提取数据,但以块为单位。

如果您需要控制驱动程序一次获取多少行,可以在ResultSet上使用setFetchSize(int

rows)方法。这将允许您控制它一次检索多少块。

以上是 ResultSet是将所有数据加载到内存还是仅在请求时加载? 的全部内容, 来源链接: utcz.com/qa/419259.html

回到顶部