我要频繁的执行三个insert into操作,现在有点慢,请问应该如何优化?

msn365 2004-08-27 02:50:36
我要频繁的执行三个insert into操作,现在有点慢,请问应该如何优化?

我写了一个专门执行SQL的方法,然后连续运行三次这个方法来连续执行insert into操作
代码如下:
//--------------------------------------------------------------
public class exeSQL{
public void getExe (String sql){
String excep = "0";
try{
ResultSet objRS = null;
Statement stmt = null;
Connection conn = null;
Context ctx = null;
ctx = new InitialContext();
if (ctx == null)
throw new Exception("Error:Context!");
javax.sql.DataSource ds = (DataSource)ctx.lookup("java:comp/env/DBP");
conn = ds.getConnection();
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
ctx.close();
}catch(Exception e){
excep = e.toString();
}

}

}

//-------------------------------------------------
String strSQL1,strSQL2,strSQL3 ;
strSQL1 = "insert into......";
strSQL2 = "insert into......";
strSQL3 = "insert into......";
for(;;){
doIT.getExe(strSQL1);
doIT.getExe(strSQL2);
doIT.getExe(strSQL3);
}


请问应如何优化,才能使运行效率更高呢?
...全文
152 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
z_jordon 2004-08-27
DataSource取出来的Connection最好的,绝对比一些所谓的连接池取出来的连接效率高许多。
PreparedStatement pstmt = conn.prepareStatement("insert into table values(?,?)");
for (;;) {
pstmt.setString(1,"xxx");
pstmt.setString(2,"yyy");
pstmt.addBatch();
}
pstmt.executeBatch();
回复
Gooing 2004-08-27
1、使用连接池
2、数据库层使用存储过程
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-08-27 02:50
社区公告
暂无公告