java insert性能优化_优化INSERT INTO的性能

今天测试一下INSERT INTO语句的性能,一开始准备使用基准测试db2batch来做,但不确定合不合适,所以直接改用执行前后打印时间的方式来做。执行的SQL:values current timestamp;insert into tmp_tmp_tt_repair_order select * from tmp_tt_repair_order;values current timesta...显示全部

今天测试一下INSERT INTO语句的性能,一开始准备使用基准测试db2batch来做,但不确定合不合适,所以直接改用执行前后打印时间的方式来做。执行的SQL:

values current timestamp;

insert into tmp_tmp_tt_repair_order select * from tmp_tt_repair_order;

values current timestamp;

数据量:35552

使用的数据库是测试库,比较空闲。

使用append on 来提高INSERT 的性能有两种方法:

1、在INSERT语句上使用 insert into /*+append on+*/ 的方式强制使用APPEND模式

2、在表上使用append模式  db2 "alter table tmp_tmp_tt_repair_order append on"

分三段测试,每段测试之前先清空表:

db2 "alter table tmp_tmp_tt_repair_order activate not logged initially with empty table"

每段使用db2 -tvf X002.sql -z X002.log执行,连续执行三次,再暂停一会再执行二次。

结果如下:

1)SQL中加insert into /*+append on+*/

2012-03-06-16.14.09.581000

2012-03-06-16.14.16.253000   6.672

2012-03-06-16.14.18.144000

2012-03-06-16.14.23.785000   5.641

2012-03-06-16.14.25.691000

2012-03-06-16.14.29.847000   4.156

暂停一会

2012-03-06-16.16.23.536000

2012-03-06-16.16.29.771000   6.235

2012-03-06-16.16.31.130000

2012-03-06-16.16.37.396000   6.266

2) 使用默认的INSERT,不使用APPEND模式

2012-03-06-16.21.03.212000

2012-03-06-16.21.06.821000   3.609

2012-03-06-16.21.10.352000

2012-03-06-16.21.16.149000   5.797

2012-03-06-16.21.17.790000

2012-03-06-16.21.23.728000   5.938

暂停一会

2012-03-06-16.23.34.776000

2012-03-06-16.23.40.354000   5.578

2012-03-06-16.23.42.526000

2012-03-06-16.23.48.620000   6.094

3)表上加append on

2012-03-06-16.25.43.934000

2012-03-06-16.25.50.559000   6.625

2012-03-06-16.25.52.419000

2012-03-06-16.25.57.184000   4.765

2012-03-06-16.25.59.012000

2012-03-06-16.26.06.387000   7.375

2012-03-06-16.26.08.809000

2012-03-06-16.26.14.888000   6.079

暂停一会

2012-03-06-16.30.00.515000

2012-03-06-16.30.06.656000   6.045

2012-03-06-16.30.08.141000

2012-03-06-16.30.14.437000   6.296

最后结果有点让人意外,不清楚是什么因素影响了测试的结果,结果并不能证明采用APPEND模式会加快INSERT速度。

求高人指点:

1、怎么才能让测试环境干净,测试结果比较真实

2、我们系统中表数据基本不删除,使用APPEND模式合适否。

谢谢!收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值