Java中JDBC批处理的操作步骤及与事务的区别

批处理

当需要执行的sq|语句比较多时,每次发送一条SQL语句并执行的效率比较低 ,此时可以批量处理执行SQL
步骤:
1.在url中添加rewriteBatchedStatements=true参数,启用批处理
2.调用addBatch()方法,添加批处理
3.调用executeBatch()方法,执行批处理

	conn = JdbcUtil. getConnection();
	conn. setAutoCommit(false);//关闭自动提交事务
	ps = conn. prepareStatement("insert into asd_ user values (null,?,?,?)");
	for(inti=0;i<500000;i++){//50万条
		ps. setString(1, "name" + i);
		ps. setString(2, "123");
		ps. setInt(3, 18);
		ps . addBatch(); //添加批处理,放到缓冲区中
		//设置批处理大小
		if(i%10000==0){
			ps . executeBatch(); //执行批处理
			conn. commit();
		}
	}
	ps. executeBatch();
	conn. commit() ;

事务和批处理的区别:

●事务
1.底层是在数据库方存储SQL ,没有提交事务的数据放在数据库的临时表空间
2.最次把临时表空间中的数据提交到数据库服务器执行
3.消耗的是数据库服务器内存
●批处理
1.底层是在客户端存储SQL
2.最后一次把客户端存储的数据发送到数据库服务器执行
3.消耗的是客户端的内存

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值