当前位置:编程学习 > JAVA >>

数据库数据太多,查询时发生java heap space错误.

数据库有大量数据.一次性查询出全部时,要报java.lang.OutOfMemoryError: Java heap space错误.
如果用for循环来分批查询,每次查询1/10出来.虽然会更耗费资源,请问这样报以上错误的几率是否会小些. --------------------编程问答-------------------- 要看你最终可能使用多少数据,还要看效率究竟有多重要,要权衡

内存可以调,启动程序的时候加上-Xmx1024m,那JVM可以使用至多1G内存。
--------------------编程问答--------------------
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m
把这句话放到Tomcat/bin/catalina.bat 文件里面;

或者
设置Eclipse   Menu——>Preferences——> java ——>Installed JREs
Default VM Arguments:-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m


--------------------编程问答-------------------- --------------------编程问答-------------------- 楼上的都在误导啊。

大数据量已经产生内存溢出了,还跟他说扩展 JVM 内存?如果数据再多呢?那就是无底洞了!

应该使用一页一页地查询,比如每次查询 1000 条,一共查询 N 次就可以了。 --------------------编程问答--------------------
引用 4 楼 bao110908 的回复:
楼上的都在误导啊。

大数据量已经产生内存溢出了,还跟他说扩展 JVM 内存?如果数据再多呢?那就是无底洞了!

应该使用一页一页地查询,比如每次查询 1000 条,一共查询 N 次就可以了。

非常赞同。
不过有一点难以搞定的是,如果查询次数多了,在查询间歇期如果出现数据增删操作,可能导致最后的查询结果有误差,不晓得怎么解决比较好?俺是没想到啥好法子,呵呵~
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,