使用PreparedStatement的Batch功能
来源:互联网 发布:购买子域名 编辑:程序博客网 时间:2024/06/06 12:28
Update大量的数据时, 先Prepare一个INSERT语句再多次的执行, 会导致很多次的网络连接. 要减少JDBC的调用次数改善性能, 你可以使用PreparedStatement的AddBatch()方法一次性发送多个查询给数据库. 例如, 让我们来比较一下下面的例子.
例 1: 多次执行Prepared Statement
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
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驱动与数据库之间的网络通讯.
- 使用PreparedStatement的Batch功能
- 使用PreparedStatement的Batch功能
- 使用PreparedStatement的Batch功能
- preparedStatement Batch功能
- PreparedStatement in Batch Mode
- PreparedStatement使用批处理多个更新20.15.2.Use Batch Multiple Updates with PreparedStatement
- 使用 preparedstatement 的好处
- PreparedStatement的使用
- PreparedStatement的使用
- PreparedStatement.addbatch()的使用
- PreparedStatement的使用
- PreparedStatement的使用
- PreparedStatement的使用
- jdbc PreparedStatement 的使用
- JDBC PreparedStatement example - update batch
- JDBC(PreparedStatement)--Batch Update Record
- 大话PreparedStatement.addbatch()的使用
- 大话PreparedStatement.addbatch()的使用
- C++标准I/O库
- System.Environment.CurrentDirectory 和 AppDomain.CurrentDomain.BaseDirectory的区别
- LUA基础
- sealed字段、方法、类
- C++ 扩展和嵌入 Python
- 使用PreparedStatement的Batch功能
- typedef 的使用
- 什么是单点登录?
- apache 开启htaccess 写法 功能
- LUA特性
- web developer tips (75):PostBack后保持滚动条的位置
- 数字城市地理信息公共平台软件测评大纲
- C语言位域操作方法
- ABAP:下载服务器文件到本机