首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

查询数据库内存不足java.lang.OutOfMemoryError: Java heap space,该怎么处理

2012-01-06 
查询数据库内存不足java.lang.OutOfMemoryError: Java heap spaceselect语句大约查询出来6百万的id,Result

查询数据库内存不足java.lang.OutOfMemoryError: Java heap space
select语句大约查询出来6百万的id,ResultSet貌似都放到内存里了。。导致内存不足
我设置了fetchSize,也不行。求高手指教

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space


Java code
String select = "select itemid from " + ITEMS + " where itemid>91592607 ";            String update = "update " + ITEMS + " set view=? where itemid=?";            int[] iids = new int[5];            try {                pstmt = conn.prepareStatement(select);                pstmt2 = conn.prepareStatement(update);                rs = pstmt.executeQuery();//报错行at GetUserData.main(GetUserData.java:52)                rs.setFetchSize(1000);


[解决办法]
那你就不要一次全查出来 分批查...
[解决办法]
一下取出来这么多干什么
[解决办法]
你用的数据库如果是MsSQL或者是Sybase,JDBC驱动可以换成jtds试试,jtds用到了游标策略。
[解决办法]
6百万跳记录就把你堆空间挤爆了, 加大java使用的内存。 不过一次性趣那么多,不建议你这么做。 肯定是有别的办法的

热点排行