查询数据库
内存不足java.lang.OutOfMemoryError: Java heap spaceselect语句大约查询出来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使用的内存。 不过一次性趣那么多,不建议你这么做。 肯定是有别的办法的