Oracle数据库插入性能测试

发表于:2010-3-09 13:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:MKing(CSDNBlog)    来源:51Testing软件测试网采编

  测试环境基本信息:

  OS:Windows XP sp3
  DB:Oracle 9.2.0.1 未启用归档
  DB重做日志文件大小:100MB
  硬盘型号:SAMSUNG HD161GJ(SATA-300,160G,7200rpm,8M cache)
  CPU:Intel Core2 E8400(3.0G)
  内存:2G

  通过HD Tune得到的硬盘基本测试信息,
  
  IOPS:66
  读取:90MB/s
  写入:82MB/s

  测试表脚本:


create table T_EMPLOYEE
(
  ID            NUMBER(10) not null,
  NAME          VARCHAR2(20) not null,
  CREATE_DATE   DATE default sysdate not null,
  BIRTHDAY      DATE,
  ADDRESS       VARCHAR2(200),
  EMAIL         VARCHAR2(200),
  MOBILEPHONE   VARCHAR2(11),
  TELEPHONE     VARCHAR2(20),
  IDENTITY_CARD VARCHAR2(18),
  WEIGHT        NUMBER,
  HEIGHT        NUMBER
)

  插入10万条记录,采用Java JDBC方式的测试结果如下(单位:秒):

执行方式

OCI
TCP/IP

OCI
IPC

thin
AutoCommit=true

thin
AutoCommit=false

Statement(test1)

69.84

67.03

66.96

42.81

PreparedStatement(test2)

40

37.18

39.21

12.66

PreparedStatement Batch(test3)

51.72

50.78

2.81

2.81

  从测试结果可以看出,采用thin连接方式 batch插入的性能最好,而采用oci的batch插入性能未得到提高,也可能是bug。

  记得以前在ORACLE文档里说采用oci模式的性能最好,9i中经过测试完全不成立,我想可能是以前java本身性能的问题,现在java语言的性能已经非常好了,thin连接方式不管是从管理还性能方面来说都是首选了。

  注:采用oci的batch插入性能未得到提高确实是BUG,后来把ORACLE客户端升级到9.2.0.8,花的时间只要6s,但还是比thin的方式差。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号