我不确定是在每次查询后还是在我的所有查询完成后(即同时关闭连接)关闭语句和结果集?
如果我错了请纠正我,但我很确定两者都有效?
但是,如果我在每次查询后不关闭语句然后执行大量查询,数据库最终会崩溃吗?
另一方面,为每个查询继续关闭和创建语句是否效率低下且浪费时间?
在问这个问题之前,我已经阅读了很多关于这个问题的资料,但我仍然不确定。任何帮助表示赞赏,
树。
最佳答案
来自 http://www.precisejava.com/javaperf/j2ee/JDBC.htm#JDBC118 :
Close ResultSet when finished
Close ResultSet object as soon as you finish working with ResultSet object even though Statement object closes the ResultSet object implicitly when it closes, closing ResultSet explicitly gives chance to garbage collector to recollect memory as early as possible because ResultSet object may occupy lot of memory depending on query.
简而言之,您不必显式关闭ResultSet
对象,但最好这样做以便尽早释放内存。未能关闭您的 ResultSet
对象只会导致它占用的内存(可能很小,也可能很大,具体取决于结果集的大小)被占用,直到相应的 Statement
对象已关闭。
关于java - JDBC 关闭资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341173/