易截截图软件、单文件、免安装、纯绿色、仅160KB

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 {
 


相关文档:

oracle 9i/10g安装包和PATCH下载地址汇总

oracle 9i/10g安装包和PATCH下载地址汇总
把下面的地址复制到讯雷里就可以下载.
---------------------------------------------------------------------------------------------------
ORACLE 9i
Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP
http://download.oracle ......

北大青鸟oracle学习笔记4 5

sql plus 保存sql语句
save 'd:\sql.txt';将oracle缓存区中的sql语句存入文件。
get 'd:\sql.txt';此时sql语句被加载到oracle缓存区,使用run;命令执行sql语句。
@'d:\sql.txt';加载sql语句并直接执行。
oracle中的函数
 
1. 转换函数
TO_CHAR(number[,format])
将一个数值转换成与之等价的字符串.如果不指 ......

Oracle与AIX的角色

1.2.1  Oracle与AIX的角色
Oracle运行在AIX上,提供着数据的存储和管理服务。数据即信息,Oracle数据库就是应用系统中存储数据信息的一个集中存储位置、一种存取方法的商品化实现。AIX是承载Oracle运行的底层平台,进行着CPU调度、内存调度、存储管理、文件管理、网络驱动等系统运行和维护工作。
作为对应用系统的支 ......

Oracle中to_char()参数详解

 1 -  /  ,  . ; :
"text" 时间分隔符号,除了标准的几个,还允许用文字作为分割符号。
例如 to_char(sysdate,'YYYY"年"mm"月"dd"日"')=2008年04月24日
 2 AD
A.D.  即拉丁文Anno Domini的简写,表示公元.会根据nls的不同转换为公元或者ad等
无特殊注意事项
 3 AM
A.M.  上 ......

北大青鸟oracle学习笔记12


关系型数据库理论中字段值必须是单值,而oracle中允许在一个字段中存储一个表的内容。
如:员工表中的外键 部门编号,oracle中这个字段可以存放部门的记录而并不是一个外键,这样查询时候的效率会提高。
可变数组:
创建带有可变数组的表
创建可变数组基类型
create or replace type 基类型名 as object(字段清单); ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号