




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle10g、Db2v9.5、SqlServer2000性能对比(用数据说话)1.后台调用存储过程性能对比表:动作Oracle(ms)Db2(ms)Sqlserver(ms)Dowhile_i(10000)281ms 156 ms 2000ms Dowhile_i_commit(10000)734ms4400ms4000msDowhile_u(10000)5641ms 27389ms 61000msDowhile_u_commit(10000)6125ms46654ms74000msDowhile_d(10000)3578ms19014ms91000msDowhile_d_commit(10000)4032ms45482ms69000ms结论:后台做插入操作db2性能最高、更新和删除操作oracle性能最高,做批量提交与每条提交一次相比,oracle性能相差不大,但db2、sqlserver性能相差比较大(除sqlserver删除的性能有所下降外)。oracleDb2sqlserver时间(ms)带宽(100Mb)时间带宽(100Mb)时间带宽(100Mb)Insert(10000)6452ms3%7140ms4%7921ms3%Insert_commit(10000)174143ms0.12%49856ms0.9%45825ms0.65%Insert_batch(10000)250ms0.8%281ms2%7140ms3%update(10000)12405ms1%40528ms0.65%61402ms0.45%Update_commit(10000)171392ms0.13%27342ms1%88462ms0.3%Update_batch(10000)5859ms0.15%33154ms0.01%61573ms0.4%delete(10000)9859ms2%30029ms1%72588ms0.4%Delete_commit(10000)160364ms0.3%50216ms0.87%119976ms0.3%Delete_batch(10000)3469ms0.46%22826ms0.94%57480ms0.55%2.前台java调用sql语句性能对比表:结论:1.java向oracle,db2,sqlserver插入10000行数据后提交数据,与每插入1行数据提交一次的性能对比,oracle性能最少提高3倍、db2 性能最少提高6倍,sqlserver性能最少提高5倍, 如果批量处理与批量提交对比,oracle性能最少提高25倍,db2性能最少提高25倍,sqlserver性能提高很小。 2. java向oracle,db2,sqlserver插入10000行数据后提交数据,与每插入1行数据提交一次的性能对比,oracle的性能最高。 3. java向oracle,db2,sqlserver更新10000行数据后提交数据,与每更新1行数据提交一次的性能对比, oracle性能最少提高13倍、db2 性能降低1.4倍,sqlserver性能最少提高1.4倍, 如果批量处理与批量提交对比,oracle性能最少提高2倍,db2性能最少提高1.3倍,sqlserver性能提高有所降低。4. java向oracle,db2,sqlserver更新10000行数据后提交数据,与每更新1行数据提交一次的性能对比, oracle的性能最高5. java向oracle,db2,sqlserver删除10000行数据后提交数据,与每删除1行数据提交一次的性能对比,oracle性能最少提高16倍、db2 性能降低1.6倍,sqlserver性能最少提高1.6倍, 如果批量处理与批量提交对比,oracle性能最少提高2.8倍,db2性能最少提高1.3倍,sqlserver性能最少提高1.2。6.java向oracle,db2,sqlserver删除10000行数据后提交数据,与每删除1行数据提交一次的性能对比,oracle的性能最高总结:后台相对于前台性能对比如下:1. 批量插入操作,oracle、db2性能差不多,sqlserver有所提高。2. 批量更新操作,oracle、db2,sqlserver性能差不多。3. 批量删除操作,oracle、db2性能差不多,sqlserver有所下降4. 批量提交插入操作,oracle、db2,sqlserver性能提高较大5. 批量提交操作,oracle、db2性能提高较大,sqlserver性能差不多。6. 批量提交操作,oracle、db2性能提高较大,sqlserver有所下降 从对比来看后台与前台批量操作性能差不多,但后台与前台批量提交相比oracle,db2性能都有较大的提高,而sqlserver反而有所下降。 脚本:1.做批量插入1. oracle:create table test (a int,b char(10);CREATE OR REPLACE PROCEDURE dowhile(in_count int) as v1 INT;BEGIN v1 := in_count; WHILE v1 0 loop insert into test values (v1, abcd); v1 := v1 - 1; -commit; END loop;END;CREATE OR REPLACE PROCEDURE dowhile_commit(in_count int) as v1 INT;BEGIN v1 := in_count; WHILE v1 0 loop insert into test values (v1, abcd); v1 := v1 - 1; commit; END loop;END;Exec dowhile(10000); 发费时间:0.281秒Exec dowhile_commit(10000); 发费时间:0.734秒2. db2:create table test (a int,b char(10);CREATE PROCEDURE YDGFTEST01.DOWHILE (IN IN_COUNT int) LANGUAGE SQLSPECIFIC DOWHILEBEGIN DECLARE v1 int; set v1=in_count; while v10 do insert into test values(v1,abcd);SET v1=v1-1; end while;ENDCREATE PROCEDURE YDGFTEST01.DOWHILE_COMMIT (IN IN_COUNT int) LANGUAGE SQLSPECIFIC DOWHILE_COMMITBEGIN DECLARE v1 int; set v1=in_count; while v10 do insert into test values(v1,abcd); commit;SET v1=v1-1; end while;ENDCall dowhile(10000)发费时间: 0.156 秒Call dowhile_commit(10000)发费时间:44秒3. sqlserver:create table test (a int,b char(10);create procedure dowhile in_count intasbegin declare v1 int select v1=in_countwhile (v10) begin insert into test values(v1,abcd) select v1=v1-1 endendcreate procedure dowhile_commit in_count intasbegin declare v1 int select v1=in_countwhile (v10) begin insert into test values(v1,abcd) commit select v1=v1-1 endendexec dowhile 10000发费时间:2秒Exec dowhile_commit 10000发费时间:4秒2.做批量更新1.oracle CREATE OR REPLACE Procedure Dowhile_u(In_Count Int) As V1 Int;Begin V1 := In_Count; While V1 0 Loop Update test Set b=frtg Where a=v1; V1 := V1 - 1; End Loop;End;CREATE OR REPLACE Procedure Dowhile_u_commit(In_Count Int) As V1 Int;Begin V1 := In_Count; While V1 0 Loop Update test Set b=frtg Where a=v1; Commit; V1 := V1 - 1; End Loop;End;Exec Dowhile_u(10000) 发费时间:5.641秒Exec Dowhile_u_commit(10000) 发费时间:6.125秒2.db2 CREATE PROCEDURE YDGFTEST01.DOWHILE_U ( IN IN_COUNT INT) LANGUAGE SQL SPECIFIC DOWHILE_U BEGIN DECLARE v1 INT;SET v1=in_count;WHILE v10 DOUPDATE testSET b=frtqWHERE a=v1;SET v1=v1-1;END WHILE;ENDCREATE PROCEDURE YDGFTEST01.DOWHILE_U_commit ( IN IN_COUNT INT) LANGUAGE SQL SPECIFIC DOWHILE_U_commit BEGIN DECLARE v1 INT;SET v1=in_count;WHILE v10 DOUPDATE testSET b=frtqWHERE a=v1;commit;SET v1=v1-1;END WHILE;ENDCall dowhile_u(10000)发费时间:27.389秒Call dowhile_u(10000)发费时间:46.654秒3.sqlservercreate procedure dowhile_u in_count intasbegin declare v1 int select v1=in_count while (v10) begin update test set b=frtg where a=v1 select v1=v1-1 endendcreate procedure dowhile_u_commit in_count intasbegin declare v1 int select v1=in_count while (v10) begin update test set b=frtg where a=v1 commit select v1=v1-1 endendExec Dowhile_u(10000) 发费时间:1分1秒Exec Dowhile_u_commit(10000) 发费时间:1分14秒3.做批量删除1. oracleCREATE OR REPLACE Procedure Dowhile_D(In_Count Int) As V1 Int;Begin V1 := In_Count; While V1 0 Loop Delete From test Where id=v1; V1 := V1 - 1; End Loop;End;CREATE OR REPLACE Procedure Dowhile_D_commit(In_Count Int) As V1 Int;Begin V1 := In_Count; While V1 0 Loop Delete From testWhere id=v1;Commit; V1 := V1 - 1; End Loop;End;Exec dowhile_d(10000)发费时间:3.578秒Exec dowhile_d_commit(10000)发费时间:4.032秒2. db2 CREATE PROCEDURE YDGFTEST01.DOWHILE_D ( IN IN_COUNT INT) LANGUAGE SQL SPECIFIC DOWHILE_D BEGIN DECLARE v1 INT;SET v1=in_count;WHILE v10 DOdelete from testWHERE id=v1;SET v1=v1-1;END WHILE;ENDCREATE PROCEDURE YDGFTEST01.DOWHILE_D_COMMIT ( IN IN_COUNT INT) LANGUAG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025青海新泉财金投资管理有限公司招聘2人(二)笔试历年参考题库附带答案详解
- 2025陕西西安市高陵区国企招聘2人笔试历年参考题库附带答案详解
- 2025年国家卫生健康委机关服务局社会招聘(2人)考前自测高频考点模拟试题及答案详解(全优)
- 2025福建莆田市城建给排水服务有限公司招聘笔试历年参考题库附带答案详解
- 2025年双鸭山饶河县公开竞聘农场社区工作者80人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025福建厦门银华机械有限公司校园招聘27人笔试历年参考题库附带答案详解
- 2025浙江温州市平阳县国资发展有限公司招聘劳务派遣人员1人笔试历年参考题库附带答案详解
- 2025贵州铜仁市司法局选聘行政执法人民监督员20人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年福清市新港城资产运营有限公司招聘6人笔试历年参考题库附带答案详解
- 2025年福州市鼓楼区文体旅局招聘街(镇)专职文化人员2人模拟试卷及参考答案详解1套
- 浙教版2025-2026学年八年级上科学第1章 对环境的察觉 单元测试卷
- 基底细胞癌护理查房
- 2025保密观知识竞赛题库(试题附答案25个)
- 2025-2026学年人教版(2024)初中生物八年级上册(全册)教学设计(附目录)
- 煤矿监管培训方案
- 企业反腐倡廉培训课件
- 湿疮湿疹中医护理查房
- 2025年6月新《中华人民共和国治安管理处罚法》全文+修订宣贯解读课件(原创内容丰富且全)
- DB31/T 1377.4-2022实验鸡和鸭第4部分:设施及环境
- 2025邮储银行面试题目及答案
- 他人借车免责协议书
评论
0/150
提交评论