批处理就是一批一批的处理,而不是一个一个的处理。
当你有10条SQL语句要执行时,一次向服务器发送一条SQL语句,这么做效率上很差(应用场景)。处理的优化方案是使用批处理,即一次向服务器发送多条SQL语句,然后由服务器一次性处理。
批处理只针对更新(增、删、改)语句,不可以用于查询。
我们首先要打开Mysql的批处理,添加参数:rewriteBatchedStatements=true,也就是把我们的URL变成以下这种形式:
con = JdbcUtils.getConnection();
String sql = "insert into stu values(?,?,?,?)";
pstmt = con.prepareStatement(sql);
for(int i = 0; i < 10; i++) {
pstmt.setString(1, "S_10" + i);
pstmt.setString(2, "stu" + i);
pstmt.setInt(3, 20 + i);
pstmt.setString(4, i % 2 == 0 ? "male" : "female");
pstmt.addBatch();
}
pstmt.executeBatch();
网友评论