美文网首页
JDBC批量处理数据之分段批量提交以及异常处理

JDBC批量处理数据之分段批量提交以及异常处理

作者: Apple_Boy | 来源:发表于2019-07-05 09:26 被阅读0次

    首先来说批量处理数据的优点:

    代码优化,提高程序执行性能

    降低了java程序代码(客户端)和数据库之间的 网络通信的次数。

    大数据量的插入问题:(jdbc,hibernate,ibatis)

    1.每次只插入一条和数据库交互多次(很耗时间)

    2.批量插入和数据库只交互一次(内存溢出)

    解决办法:分段批量插入(推荐)

     jdbc批量处理数据是通过PreparedStatement对象的 addbatch(), executebatch() clearbatch()进行和数据库的交互。通常我们使用分段批量处理的方式 这样可以提高程序的性能 ,防止内存溢出。

    1.每个sql语句都和数据库交互一次(非批量操作)

    2.只和数据库交互一次(批量操作)(内存溢出)

    当数据达到一定额度的时候就和数据库进行交互,分多次进行(分段批量操作)(500或者1000)

    pst.addBatch();

    if (i > 0 && i%1000 == 0) {

    pst.executeBatch();

    pst.clearBatch();

    }

    JDBC分段批量提交的时候出现异常怎么处理:

    解决方案:

    通过Map来解决性能问题。首先在分段批量提交的时候,我们不采用事务,这样就保证了合法的数据就自动提交,不合法的数据就自己自动进行回滚,为了避免不合法数据影响后续合法数据的提交,采用定义业务规则字典表,实现对数据的验证,将不合法的数据记录下来,供用户进行后续处理,而合法的数据就全部提交。

    相关文章

      网友评论

          本文标题:JDBC批量处理数据之分段批量提交以及异常处理

          本文链接:https://www.haomeiwen.com/subject/fwzjhctx.html