Oracl 10G与sql server2005搜索运行时间测试
2010-04-12 17:14 贤达 阅读(3565) 评论(20) 编辑 收藏 举报Oracle
与sql server2005搜索运行时间测试
初学Oracle感觉它功能很强大,
但总感觉oracle查询数据,添加数据都比sql server慢
一下是
测试环境:
|
操作系统 |
|
|
CPU 类型 |
Intel(R) Celeron(R) CPU E3200 @ 2.40GHz DualCore , 2433 MHz (12 x 203) |
|
内存: |
DDR3 |
oracle第三方工具: plsql developer(F5) Toad (Ctrl+E)
测试的数据 51万多条数据
CID (编号)
companyname(公司名称)
Ctelephone (电话)
Phonetype (电话类型)
companyinfo (公司地址相关信息)
Rdatetime
booleanstate
第一条测试语句
搜索包含“武大”的地址信息
select * from dbo.total where companyname like '%武大%'
sqlserver2005
测试语句
代码
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和 oracle占用内存 都是200M左右!
从结果可以看出50多万数据中 sql server明显速度优势大于Oracle