一、测试背景
项目中的记录日志有时会采用批量提交的方法,它的好处是减少了获取数据连接的次数,从而减少了网络交互的次数,提高了系统性能。为了将系统性能提高到最好,找到特定配置下oracle批量提交的最优数量,进行了这个测试。
二、测试环境与配置(数据库服务器配置)
操作系统:aix 5.3
数据库版本:oracle 10g
Java版本:1.5
Web应用服务器:weblogic
三、测试设计
1. 如何进行批量提交
可能有人对我上面提到的批量提交的实现方式不清楚,在此详细介绍一下,用到的是preparedStatement的addBatch()和 executeBatch()方法。addBatch()方法将一组参数添加到preparedStatement 对象的批处理命令中,通过调用方法 executeBatch 可以批量执行此列表中的命令。
程序如下例:
public static void test(){ ...... preparedStatement ps = null; try { conn = DataSourceManager.instance().getConnection(); ps = conn.prepareStatement("insert into log(col1,col2)values(?,?)"); for (int i = 0; i < commitCount; i++) { ps.setString(1, "hello"); ps.setString(2, "123"); ps.addBatch(); } ps.executeBatch(); ...... } |