sqlite插入一万多条数据会报quartz 内存溢出解决 该怎么解决

java程序往oracle插入10w多条数据出现内存溢出,加大虚拟内存还是报这个异常
查看链接是否关闭,,以前我也遇到过类似的情况。
--- 共有 1 条评论 ---
你是一次插入load 10w数据到应用内存吗?
如果是这样的话,加大内存是没有用的.
你可以分批批量导
--- 共有 3 条评论 ---
: 修改了还是么用啊
那要么你就每次批量上限调低一些,要么就修改一下jvm最大内存吧。
现在我是每5W条就提交一次。
分批取数据,分批插入提交TA的最新馆藏[转]&[转]&[转]&[转]&[转]&2012年12月 MS-SQL Server大版内专家分月排行榜第三
2012年12月 MS-SQL Server大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。现在读一个大文件,读出来 的东西放到一个set集合里面,插入导入里面,我去了可是放到set里面时就内存溢出了,但是要求不能改JVM的内存,求解决方法,急啊谢谢各位大哥大姐了。
--------------------------------------
如果要分批次读取又是怎么读取啊????
--------------------------------------
设定读取多少行然后将数据存入数据库,完成后清除数据,重复这样的过程就好
--------------------------------------
全部读入后,再存到数据库,肯定有内存问题。一般用addBatch,executeBatch方式。每2000条左右执行一次。sqlite插入一万多条数据会报内存溢出 该怎么解决
sqlite插入一万多条数据会报内存溢出 该怎么解决&& 在解析的时候添加数据,,,
那你就一千条一次地插入了
--- 共有 1 条评论 ---
是想的用这样的方法 但是不知道怎么做。。。。
分批分组插入, 插入 一定数据然后释放下内存重新插入
--- 共有 2 条评论 ---
只是给你说了个解决思路, sqlite 不是很熟悉
sqlite不会写分批插入...我查了下资料也没有找到 该怎么插入...不过 你可以写下来吗
这个跟数据库应该没关系吧, 就是内存不够引起的, 分批插入, 用JDBC BATCH
--- 共有 2 条评论 ---
SQLITE 是嵌入式的数据库, 与传统RDBMS区别是SQLITE是程序驱动的, 传统的RDBMS是引擎驱动的.
Java操作SQLITE还是通过JDBC, 我查过了SQLITE JDBC DRIVER是支持JDBC BATCH的!
但是我的是sqlite的数据库
我查了一下没有,,你说的那个。
不知道楼主是否有显式的去开启事务,如果有,那么插一定数量条记录就显式的结束一次事务
然后这样循环,直到所有记录都插入完。
这样既保证了速度(因为大批量插入启用了事务),也保证了安全(如果出错还可以回滚)。
PS:sqlite会隐式地为每一次sql操作开启结束事务。这也是为什么你插入后不用commit的原因。

我要回帖

更多关于 java内存溢出怎么解决 的文章

 

随机推荐