具体是这样使用的:
循环2000条数据例如数据被装到了一个名叫dataList的List<Map<String,String>>中,那么批量更新就是这样执行的
Map map = null
String data1= ""
String data2 = ""
String sql = insert into biao values(?,?)
PreparedStatement preStmt = conn.prepareStatement(sql)
for(i = 0i<dataList.size()i++){
map = dataList.get(i)
data1=map.get("data1")
data2 = map.get("data2")
preStmt.setString(1,data1)
preStmt.setString(2, data2)
preStmt.addBatch()
}
preStmt.executeBatch()
preStmt.clearBatch()
1,关闭目标表上的索引。2,关闭数据库日志
3,增加数据库的临时表空间。
4,分批次的提交。
5,可以考虑异步提交。
6,在分布式条件下,还可以考虑在不同的数据库结点提交,有底层的消息系统完成数据扩展。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)