Oracle数据库的应用环境,一般来说比SQL Server要复杂,这也是大家形容Oracle与SQL Server是单反相机与傻瓜相机的区别。不过,傻瓜相机也有其好处,下面是作者的实际对比。

初学Oracle感觉它功能很强大,但总感觉Oracle查询数据,添加数据都比SQL Server慢。

一下是测试环境:

操作系统

Microsoft Windows XP Professional

CPU 类型

Intel(R) Celeron(R) CPU E3200 @ 2.40GHz

DualCore , 2433 MHz (12 x 203)

内存:

DDR3 2G

Oracle第三方工具:  PL/SQL developer(F5) Toad (Ctrl+E)

测试的数据 51万多条数据 CID (编号) companyname(公司名称) Ctelephone (电话) Phonetype (电话类型) companyinfo (公司地址相关信息)

Rdatetime booleanstate

***条测试语句

搜索包含“武大”的地址信息

    select*fromdbo.totalwherecompanynamelike'%武大%'

SQL Server 2005测试语句

    declare@starttimeasdatetime; declare@endtimeasdatetime; set@starttime=getdate(); select*fromdbo.totalwherecompanyinfolike'%武大%'set@endtime=getdate(); select@starttimeas开始时间,@endtimeas结束时间,datediff(MS,@starttime,@endtime)as运行时间

运行的结果: 4.5秒左右:

Oracle执行

    Settimingon; select*fromdbo.total wherecompanynamelike'%武大%'

运行时间 18.5秒左右:

第二次多条语句搜索

SQL Server代码

    declare@starttimeasdatetime; declare@endtimeasdatetime; set@starttime=getdate(); select*fromdbo.totalwherecompanyinfolike'%华乐商务中心%' select*fromdbo.totalwherecompanyinfolike'%联合国际%' select*fromdbo.totalwherecompanyinfolike'%金丰大厦%' select*fromdbo.totalwherecompanyinfolike'%光谷国际%' select*fromdbo.totalwherecompanyinfolike'%国际商务大厦%' set@endtime=getdate(); select@starttimeas开始时间,@endtimeas结束时间,datediff(MS,@starttime,@endtime)as运行时间

执行的时间与17秒左右

Sql/Plus命令中执行

执行的时间与39秒左右

Executed in 10.906 seconds

Executed in 5.078 seconds

Executed in 10.218 seconds

Executed in 10.218 seconds

Executed in 3.141 seconds

在进程中SQL Server 2005和Oracle占用内存 都是200M左右!

从结果可以看出50多万数据中SQL Server 2005明显速度优势大于Oracle 10g。

原文标题:Oracl 10G与sql server2005搜索运行时间测试

链接:http://www.cnblogs.com/and/archive/2010/04/12/1710363.html

【编辑推荐】

    SQL Server使用索引实现数据访问优化SQL Server数据库优化经验总结如何使用SQLServer数据库查询累计值浅析Oracle和SqlServer存储过程的调试、出错处理几段SQLServer语句和存储过程50种方法优化SQL Server数据库查询