什么是关闭ResultSet的合适时间

时间:2014-12-06 15:58:05

标签: java performance memory jdbc resultset

我有一个Java ResultSet,它包含从数据库中检索的大数据量(但仍然可以存储在RAM中)。我将使用这些数据。从性能的角度来看,我应该将结果集内容复制到某个数据结构,以便能够尽快关闭结果集并使用新容器中的数据,或者最好不要浪费时间复制内容并直接从结果集中处理数据?

1 个答案:

答案 0 :(得分:1)

ResultSet一次获取指定数量的行,具体取决于所使用的JDBC驱动程序和数据库。因此,如果您的查询返回了一百万行,并非所有百万行都驻留在内存中,除非您迭代结果集并将它们放在内存中。要直接回答您的问题,请在读完所需的行时关闭ResultSet,通常是在ResultSet.next()返回false时。

JDBC Developers Guide

相关问题