JAVA中的SQL批处理及最后消耗的总时间的测试用例
2012-08-15 17:47
399 查看
自己写的一个测试用例。记录在案。
控制台显示:
为什么要批量提交?一次提交量过大,也占用太多带宽,效率上不是很理想,如果遇到10万级别以上数据,估计不宕机也得等你个半天了。
package Junt; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import com.whaty.platform.database.oracle.dbpool; /** * @name:TestBatch.java * @desc: * @author:lizhuang * @createTime:2012-8-10 下午08:01:10 */ public class TestBatch { /** * @param args */ public static void main(String[] args) { testTime(); } public static void testTime() { dbpool pool = new dbpool(); Connection conn = pool.getConn(); Statement ps = null; try {
conn.setAutoCommit(false); ps = conn.createStatement(); long start= System.currentTimeMillis(); for (int i = 0; i < 1; i++) { long starttime = 0; for (int j = 0; j < 1002; j++) { String sql = "UPDATE pe_bzz_examscore t SET t.test_score=(select s.AVG_test_score from stat_study_summary s " + "where s.student_id='ff8080813104436201311415f0bf1234' and s.batch_id='4028809929f2e6870129f2fd0c390009') " + "where t.student_id='ff8080813104436201311415f0bf1234';"; ps.addBatch(sql); if (j == 1001) { ps.executeBatch();
conn.commit();break;}if (j % 200 == 0 && j != 0) {starttime = System.currentTimeMillis();ps.executeBatch();
conn.commit(); long endtime = System.currentTimeMillis(); long totTime = endtime - starttime; System.out.println("Using Time: " + totTime / 1000 + " sec\t" + totTime + " ms"); } } } ps.close(); conn.close(); long end= System.currentTimeMillis(); System.out.println("Total Time: " + (end-start) / 1000 + " sec"); System.out.println("Total Time: " + (end-start) + " ms"); } catch (SQLException e) { e.printStackTrace(); } System.out.println("over...."); } }
控制台显示:
Using Time: 4 sec 4312 ms Using Time: 4 sec 4251 ms Using Time: 4 sec 4220 ms Using Time: 4 sec 4235 ms Using Time: 4 sec 4236 ms Total Time: 21 sec Total Time: 21271 ms over....
为什么要批量提交?一次提交量过大,也占用太多带宽,效率上不是很理想,如果遇到10万级别以上数据,估计不宕机也得等你个半天了。
相关文章推荐
- java多组测试用例处理
- java中常用的时间处理类TimeUtil (未测试)
- Java Calendar 类用例(处理时间)
- java中关于时间的处理(已测试)
- selenium2java一个弹框上传时间日期大杂烩测试用例
- Java的时间处理(续)
- 【Java】Java中的时间日期处理
- 如何在Java 8中愉快地处理日期和时间
- java处理数据文本时间小函数积累
- Java--时间处理
- JAVA 处理时间
- 怎么测试一个java程序占用的内存和cpu消耗?
- Java 中按文件名称分类,按文件大小分类,按照文件类型分类,按照最后修改时间分类的工具类
- java日期时间处理工具类封装
- JAVA关于时间的处理
- oracle.jbo.domain.Date java.utils.Date java.sql.Date 时间转换测试
- java Date 时间 日期 处理
- java处理日期时间
- 如何在Java 8中愉快地处理日期和时间
- Java 时间与日期处理