在我的应用程序中,我需要对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();
}
其中num_rows大约为200万。在经过60万次循环后,Java报告了一个错误并退出:
java.lang.OutOfMemoryError:Java堆空间错误。
我的代码有什么问题?我应该如何避免这样的错误?
提前感谢您!