使用JDBC在MySQL数据库中如何快速批量插入

使用JDBC在MySQL数据库中如何快速批量插入,第1张

可以使用jdbc预编译+批量更新,这样的执行效率最高。

具体是这样使用的:

循环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()

bangbong说的不错

____Linus____说的就不太靠谱了

用连接池可以重复利用数据库连接,提高效率;当然最重要的仍然是优化:正确的优化SQL;为查询建立正确的索引;使用分页等手段只获取需要的数据;为不经常变动的数据建立cache,优先走cache等都是可行的选择。

JDBC只是一种连接数据库的协议,另外的例如JNDI也可以做到。hibernate作为一个orm框架,和JDBC所处的层面就不同,根本不是一回事啊……

1,关闭目标表上的索引。

2,关闭数据库日志

3,增加数据库的临时表空间。

4,分批次的提交

5,可以考虑异步提交。

6,在分布式条件下,还可以考虑在不同的数据库结点提交,有底层的消息系统完成数据扩展。


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

原文地址: http://outofmemory.cn/bake/11543607.html

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

发表评论

登录后才能评论

评论列表(0条)

保存