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 * from dbo.total where companyname like %武大%
SQL Server 2005测试语句
- declare @starttime as datetime;
- declare @endtime as datetime;
- set @starttime = getdate();
- select * from dbo.total where companyinfo like %武大% set @endtime = getdate();
- select @starttime as 开始时间,@endtime as 结束时间,datediff(MS,@starttime,@endtime)as 运行时间
运行的结果: 4.5秒左右:

Oracle执行
- Set timing on;
- select * from dbo.total
- where companyname like %武大%
运行时间 18.5秒左右:

第二次多条语句搜索
SQL Server代码
- declare @starttime as datetime;
- declare @endtime as datetime;
- set @starttime = getdate();
- select * from dbo.total where companyinfo like %华乐商务中心%
- select * from dbo.total where companyinfo like %联合国际%
- select * from dbo.total where companyinfo like %金丰大厦%
- select * from dbo.total where companyinfo like %光谷国际%
- select * from dbo.total where companyinfo like %国际商务大厦%
- set @endtime = getdate();
- select @starttime as 开始时间,@endtime as 结束时间,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