在preparedstatement 查询的时候设置了setFechSize(5000) 大概的数据量应该在2千万左右,不知会不会内存溢出?
ResultSet也设置了5000 。据说setFechSize 设置了只占一小部分的内存。不会占太大的内存。查询的后的结果我直接插入到数据库中preparedstatement 每1W条插入一批。在运行一段时间后内存溢出。请高人解答!!!

解决方案 »

  1.   

    代码如下:
    while((ResultSet.next){
         preInsertStmt.setString(iIndex, ResultSet.getObject(1));
            ...//都是设置的值
    if (insertCount == 500) {//修改成500
       preInsertStmt.executeBatch();
       preInsertStmt.clearBatch();
       conInsertDBLink.commit();
       insertCount = 0;
    }
    }
    最后把数据库相关的东西关闭掉!!
    其它的我没写,看看有没有问题,会不会导致内存溢出
      

  2.   

    怕溢出就分页吧咱又不是在测试jdbc驱动的稳定性。不用较劲吧。呵呵bdgood luck