java 数据库插入超大数据怎么处理

java 数据库插入超大数据怎么处理,第1张

1、加大Java可使的内存量、单次提交的条数再扩大些、扩大java连接数据库最大连接数都可以从量上来解决这个问题,但是想质的解决这样做是不好的。

2、用存储过程,来解决大量数据的CRUD是最明智的选择。写个存储过程,把数据一千条或几条的传给存储过程,由存储过程去解析,然后CRUD就能从本质上解决这个问题了。

这也是为何电信运营商的数据库应中,都是大量的存储过程即pl/sql的原因了。

批量处理

每10000条(根据机器内存情况调整)循环一次

使用hibernate的session对10000条数据进行循环,每50条刷新一次

配置hibernate sql批量提交的条目数,设置成50

我数据库用的是db2,10万条效率还算可以

首先回答1、2的问题:

>executeQuery(strSql)主要是消耗DB服务器上的内存

>while(rs.next)是消耗WEB服务器上的内存

对于500W条数据,不论DB服务器还是WEB服务器,都会消耗很多内存.

3、“取一条记录,保存一条记录到文件中”:这样做会在一定程度上会节约很多内存(在500W条数据时会很明显),但是在取 *** 作上可能会麻烦点,增加了复杂度,在实际运用中要看项目的具体取舍。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10060287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存