使用spring jdbc的batchUpdate功能提高性能
来源:互联网 发布:苏菲淘宝旗舰店 编辑:程序博客网 时间:2024/05/17 22:53
在spring batch中,我们经常使用spring提供的jdbcTemplate进行数据库操作。
假设有一张表People.我们需要插入多条数据。处理的方法有两种:
第一种方法是对每一个数据,都执行一直insert命令:
jdbcTemplate.update(INSERT_PEOPLE_QUERY, people.getFirstName(), people.getLastName());
第二种方法是使用batchUpdate的方法:
jdbcTemplate.batchUpdate(INSERT_PEOPLE_QUERY, transformToObjects(peoples));
private List<Object[]> transformToObjects(List<People> peoples) {
return from(peoples).transform(new Function<People, Object[]>() {
@Override
public Object[] apply(People people) {
return new Object[]{people.getFirstName(), people.getLastName()};
}
}).toList();
}
如果需要大量更新数据,并且使用的jdbc driver支持batchUpdate的情况下,使用batchUpdate会比直接执行逐行执行update效率快一个数量级。但 如果jdbc不支持batchUpdate,那么jdbcTemplate的batchUpdate在其内部仍然是逐行执行。
我使用postgreSQL进行试验:
当需要插入1000个People时,逐行插入需要4秒,使用batchUpdate需要时间不到1秒
当需要插入10000个People时,逐行插入需要17秒,使用batchUpdate仅仅需要1秒
- 使用spring jdbc的batchUpdate功能提高性能
- 使用spring jdbc的batchUpdate功能提高性能
- jdbc的batchupdate
- 提高JDBC应用程序的性能
- 进一步提高JDBC应用程序的性能(一)
- 进一步提高JDBC应用程序的性能 (四)
- 几个提高JDBC性能的技巧
- hibernate如何提高jdbc的性能
- Spring JdbcTemplate batchUpdate() example
- Spring SimpleJdbcTemplate batchUpdate() example
- Spring JdbcTemplate batchUpdate() example
- Spring SimpleJdbcTemplate batchUpdate() example
- Spring JDBC 的使用
- 使用Spring 的JDBC
- 使用Spring 的JDBC
- Spring jdbc 的使用
- spring jdbc的使用
- Spring JDBC 的使用
- 实训项目第二周2
- soap命名空间的别名
- 特斯拉式升级
- 设计模式-简单工厂模式
- 使用linux命令获取文件夹下所有文件的绝对路径
- 使用spring jdbc的batchUpdate功能提高性能
- 用PS做一个简单的相机图标
- IE11 Windows7下F12 DOC资源管理器不能用Exception in window.onload: Error: An error has ocurredJSPlugin.3005 20
- 字符串操作
- ajax跨域
- android PinYinIME横屏模式禁止全屏输入 & 调整横屏模式下键盘高度
- JLINK v8命令集
- html的Json与Java的Json
- JAVA图形化界面实现文件的“读取和写入”