易截截图软件、单文件、免安装、纯绿色、仅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中几个关于日期方面的SQL实例

№1:取得当前日期是本月的第几周
SQL> select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from
dual;

TO_CHAR(SYSDATE,'YY
-------------------
20030327 4 18:16:09

SQL> select to_char(sysdate,'W') from dual;

T
-
4 ......

ora_01034:oracle not available报错 解决方法

因为强制关机,开机的时候进入数据库报错:
ora_01034:oracle not available
ora_27101:shared memory realm does not exit
解决方法:
1.打开CMD
2.输入 sqlplus "/as sysdba"
3.回车
4.输入 startup
5.结束 ......

北大青鸟oracle学习笔记10

索引
唯一索引:
列中无重复值,唯一约束。
oracle自动为主键和为一键列创建唯一索引
语法:create unique index 索引名 on 表名(列名);
组合索引:
在表中多个字段上创建的索引
列按任意顺序排列
where子句中包含多个列的查询,可提高访问速度。
语法:create index 索引名 on 表名(列名1,列名2,...,列名n):
反 ......

oracle同义词

----------------------------------------------------------------------------
相关知识:Oracle SYNONYM(同义词)
----------------------------------------------------------------------------
是一种映射关系,可以理解为表的一种固定别名
同义词的好处:建立一个同义词可以排除一个对象名字的限制
如果你的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号