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

更新时间:2023-10-19 05:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

硬件:CPU 3.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..10 loop

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

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

二、Sqlserver与oracle的比较:

在硬件条件相同条件下,oracle 写入数据速率约为sqlserver的7.5倍。 写入1万条数据 写入10万条数据 写入100万条数据 sqlserver 耗时(秒) 3.5 29.9 289 2857 3344 3460 Oracle耗时 速率(条/秒) 耗时(秒) 1 4.05 38.8 400.03 比较 速率(条/秒) oracle 写入数据速10000 率约为24691 sqlserver的25773 7.5倍 24998 写入1000万条数据

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

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

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

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

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

本文来源:https://www.bwwdw.com/article/7qof.html

Top