例 1: 屡次执行Prepared Statement html
PreparedStatement ps = conn.prepareStatement(
"INSERT into employees values (?, ?, ?)");
for (n = 0; n < 100; n++) {
ps.setString(name[n]);
ps.setLong(id[n]);
ps.setInt(salary[n]);
ps.executeUpdate();
}
例 2: 使用Batch java
PreparedStatement ps = conn.prepareStatement(
"INSERT into employees values (?, ?, ?)");内陆运输
for (n = 0; n < 100; n++) {
ps.setString(name[n]);
ps.setLong(id[n]);
ps.setInt(salary[n]);
ps.addBatch();
}
ps.executeBatch();数据库
在例 1中, PreparedStatement被用来屡次执行INSERT语句. 在这里, 执行了100次INSERT操做, 共有101次网络往返. 其中,1次往返是预储statement, 另外100次往返执行每一个迭代.
在例2中, 当在100次INSERT操做中使用addBatch()方法时, 只有两次网络往返. 1次往返是预储statement, 另外一次是执行batch命令. 虽然Batch命令会用到更多的数据库的CPU周期, 可是经过减小网络往返,性能获得提升.
记住, JDBC的性能最大的增进是减小JDBC驱动与数据库之间的网络通信.网络