lzth.net
当前位置:首页 >> jDBC PrEpArEDStAtEmEnt ExECutEBAtCh方法执行效率... >>

jDBC PrEpArEDStAtEmEnt ExECutEBAtCh方法执行效率...

按说效率不会低到这种地步,你执行的是insert语句 我很想知道 你目前的代码有没有开启手动提交事务,如果你是自动提交事务那么可能会导致这800多条会执行一条 提交一次事务,导致时间全部浪费在这里了,你可以尝试一下手动提交事务,等executebatch执行了 然后提交事务.conn.setAutoCommit = false;//代码conn.commit();就是上面

executeBatch方法会返回一组int数据,对应每条sql的执行结果,可以据此来判断

下面为个人意见仅供参考:1. Statement用于处理静态 SQL 语句, PreparedStatement用于处理动态SQL语句,在执行前会有一个预编译的过程,它是有时间开销的,虽然相对于数据库的操作该时间开销可以忽略不计.但是后者的预编译结果会

期待看到有用的回答!

conn = drivermanager.getconnection(url, username, password);//自己链接数据库 preparedstatement pstmtinsert = conn.preparestatement("insert into student values(?, ?, ?, ?)"); // 创建语句,里面的参数等可以用问号代替 pstmtinsert.setstring(1,"a");//给第一个问号赋值"a"; pstmtinsert.setstring(2,"b");//给第二个问号赋值"b"; .

String sql="sql内容";int[] i=statement.executeBatch(sql);//试试看我也不是很懂将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组.返回数组的 int 元素的排序对应于批中的命令,批中的命令根据被添加到

解决办法:1.加大内存,你一个内部循环搞定,产生了很多的句柄,堆栈内存放不下了2.将一次操作封装到一个方法中,使用另一个方法来循环调用你封装的方法,自然就不会产生过多的无效句柄

你好!检查驱动,SQL语法,调用方法参数类型.打字不易,采纳哦!

你把语句放到库里面去执行一下,看看有没错误,没错诉话,估计就是你的代码部份有问题了认真检查一下代码

1. 使用数据连接池(Connection Pool), 避免使用DriverManager.getConnection. 2. 合理的配置数据连接池参数,设置数据连接池的初始大小,最大连接数,连接超时时间等. 3. 选择合适的事务等级,按照不同的数据库操作类型选择不同的

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com