ResultSet大数据量的处理

ouyangtijin 2016-06-26 03:19:04
我用java中的ResultSet从数据库sql查询读取数据,大概有8000行数据左右,但是在将数据从ResultSet中取出并进行处理时,程序卡在第5000行左右不动了(已经卡了一天左右了),有没有大神给分析一下是什么原因?
private void generateRptSchemaWithLong(Connection fxqCon,
Map<String, TFxqBJHReportSchema> fgsReportMap,
String beginSummaryDate, String summaryDate, String sql, String col)
throws Exception {
PreparedStatement pst = null;
ResultSet rst = null;
String comcodeStr = "";
String fgsCom = "";
TFxqBJHReportSchema rptSchema = null;
String bgDate = beginSummaryDate;
String endDate = summaryDate;

//组装时间格式
if (!"Bg".equals(col)) {
bgDate = beginSummaryDate.substring(0, 4) + "-"
+ beginSummaryDate.substring(4, 6) + "-"
+ beginSummaryDate.substring(6, 8) + " 00:00:00";
endDate = summaryDate.substring(0, 4) + "-"
+ summaryDate.substring(4, 6) + "-"
+ summaryDate.substring(6, 8) + " 23:59:59";
}
log.info("当前执行的sql语句:" + sql);
try {
pst = proxoolDB.prepareStatement(fxqCon, sql);

pst.setString(1, bgDate);
pst.setString(2, endDate);

rst = pst.executeQuery();
rst.setFetchSize(2000);
while (rst.next()) {//resultset长度大概8000行左右
comcodeStr = rst.getString("comcode");
fgsCom = getAccComcode(fxqCon, comcodeStr);
rptSchema = fgsReportMap.get(fgsCom);
if("Sblg".equals(col)){
log.info("当前更新的机构信息:"+fgsCom);
}
if ("4".equals(rst.getObject("insurednature").toString())) {
log.info("hello 4!");
rptSchema.setMethod(
col + "fzr",
String.valueOf(Long.parseLong(rst.getObject("val").toString())
+ Long.parseLong(rptSchema.getMethod(col
+ "fzr"))));
} else {
log.info("hello others!");//程序在处理到5000行左右时,卡在这个地方不动了,已经卡了一天左右了。
rptSchema.setMethod(
col + "zr",
String.valueOf(Long.parseLong(rst.getObject("val").toString())
+ Long.parseLong(rptSchema.getMethod(col
+ "zr"))));
}
}
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally {
try {
proxoolDB.release(rst);
proxoolDB.release(pst);
} catch (SQLException e) {
e.printStackTrace();
throw e;
}
}
}
...全文
673 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wilson.Huang 2016-06-27
  • 打赏
  • 举报
回复
分页吧。。。。。
skgary 2016-06-27
  • 打赏
  • 举报
回复
内存用光了呗,一直在gc,调整一下Xmx设置

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧