oracle 自带测试数据,ORACLE数据库插入性能测试

ORACLE数据库插入性能测试

MKing

2010-3-8

测试环境基本信息:

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的方式差。

以下是测试程序源码:

import java.sql.*;

import java.util.Calendar;

public class inserttest {

&nbsp

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值