大数据量测试比较oracle与sql server性能

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、在测试组环境中实际测试结果:

测试机器172.18.2.179

硬件:CPU3.2G*2双CPU物理内存1G硬盘:80G*2,7200转/s硬盘缓存8M

◆Sqlserver2000,在系统自带的pubs数据库中生成表,并插入数据,插入数据速度如下统计:

写入1万条数据,耗时3.5秒平均写入速度:2857条/S

写入10万条数据,耗时29.9秒平均写入速度:3344条/S

写入100万条数据,耗时289秒平均年写入速度:3460条/S

脚本如下,仅有两个常规字段(实际应用时,把表名中的X替换成1、10、100,并修改循环次数,分别执行三次,记录数据插入完成所用时间,使用秒表计时):

CREATE TABLE tblTestX(iID int IDENTITY(1,1),strData char(10)) GO

SET NOCOUNT ON

GO

INSERT INTO tblTestX VALUES('Test')

WHILE@@IDENTITY<1000000

INSERT INTO tblTestX VALUES('Test')

以上测试过程中,sqlserver进程内存占用70M左右。Cpu占用14%。

本机执行,不考虑网络延迟。

◆oracle9i中,在现有sncp数据库中生成表,并插入数据,插入数据速度如下统计:

写入1万条数据,耗时1秒平均写入速度:10000条/S

写入10万条数据,耗时4.05秒平均写入速度:24691条/S

写入100万条数据,耗时38.8秒平均年写入速度:25773条/S

写入1000万条数据,耗时400.03秒平均年写入速度:24998条/S

脚本如下,仅有两个常规字段(实际应用时,把表名中的X替换成1、10、100,1000并修改循环次数,分别执行四次,记录数据插入完成所用时间,使用秒表计时):

create table tblTstX(id integer,test VARCHAR2(10));

declare

a integer;

begin

for a in 1..10loop

insert into tblTstX values(a,'mytest');end loop;end;/

以上测试过程中,oracle 进程内存占用70M 左右。Cpu 占用50%本机执行,不考虑网络延迟。

二、Sqlserver 与oracle 的比较:

在硬件条件相同条件下,oracle 写入数据速率约为sqlserver 的7.5倍。

sqlserver Oracle 耗时

比较

耗时(秒)

速率(条/秒)耗时(秒)速率(条/秒)oracle 写

入数据速率约为sqlserver 的7.5倍写入1万条数据 3.52857110000

写入10万条数据29.93344 4.0524691

写入100万条数据289

3460

38.825773

写入1000万条数据

400.03

24998

三、从网络等获取资料结果:

数据库插入数据的速度与下列因素关系比较密切:

1、硬件因素:磁盘转速、磁盘I/O 缓存、是否磁盘阵列,其次是CPU 、内存等。

2、软件因素:采用某些优化工具对sqlserver 进行优化,优化其I/O 方面的性能。

3、Sql 语法因素:采用经优化的sql 语句或方法,如把逐行插入写成大数据量事务执行。

相关文档
最新文档