在我的应用程序中,我需要对MySQL数据库执行数百万次查询.代码如下:
for (int i=0; i< num_rows ; i++) {
String query2="select id from mytable where x='"+ y.get(i) "'";
Statement stmt2 = Con0.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
ResultSet rs2 = stmt2.executeQuery(query2);
... // process result in rs2
rs2.close();
}
Run Code Online (Sandbox Code Playgroud)
其中num_rows约为200万.在600k循环之后,java报告错误并退出:
java.lang.OutOfMemoryError:Java堆空间错误.
我的代码有什么问题?我该如何避免这样的错误?
提前致谢!