在Java程序中,我使用的是复杂查询(具有内部联接和子查询的select子句)。我正在迭代结果集并在文本文件中写入输出。
Select子句输出可以是400,000条记录。如果结果集有这么多记录会导致任何问题吗? ResultSet
是否有一些记录/内存限制?
答案 0 :(得分:2)
ResultSet本身未绑定。但是,您的JVM进程和网络功能存在局限性。如果您需要处理来自一个查询的大量记录,请尝试使用可用的ResultSet选项:
Statement stmt = con.createStatement("select * from dual", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(1000);
基于您的数据库和/或驱动程序供应商,这些可以帮助您以更少的内存占用更快地处理请求。