OraclegDbvSqlServer性能對(duì)比用數(shù)據(jù)說話_第1頁
OraclegDbvSqlServer性能對(duì)比用數(shù)據(jù)說話_第2頁
OraclegDbvSqlServer性能對(duì)比用數(shù)據(jù)說話_第3頁
OraclegDbvSqlServer性能對(duì)比用數(shù)據(jù)說話_第4頁
OraclegDbvSqlServer性能對(duì)比用數(shù)據(jù)說話_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、OraclelOg、Db2v9.5、SqlServer2000 性能對(duì)比(用數(shù)據(jù)說話)1.后臺(tái)調(diào)用存儲(chǔ)過程性能對(duì)比表動(dòng)作Oracle(ms)Db2(ms)Sqlserver(ms)Dowhile_i(10000)281ms156ms2000msDowhile丄commit(100734ms4400ms4000ms00)Dowhile_u(10000)5641ms27389ms61000msDowhile_u_commit(106125ms46654ms74000ms000)Dowhile_d(10000)3578ms19014ms91000msDowhile_d_commit(104032ms

2、45482ms69000ms000)結(jié)論:后臺(tái)做插入操作db2性能最高、更新和刪除操作oracle性能最高,做批量提交與每條提交一次相比,oracle性能相差不大,但 db2、sqlserver性能相差比較大(除 sqlserver刪除的性能有所下降外)oracleDb2sqlserver時(shí)間(ms)帶寬(100Mb)時(shí)間帶寬(100Mb)時(shí)間帶寬(100Mb)In sert(10000)6452ms3%7140ms4%7921ms3%In sert_commit(10000)174143ms0.12%49856ms0.9%45825ms0.65%In sert_batch(10000)250

3、ms0.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%

4、22826ms0.94%57480ms0.55%結(jié)論:1.java 向 oracle,db2,sqlserver 插入10000行數(shù)據(jù)后提交數(shù)據(jù),與每插入1行數(shù)據(jù)提交一次的性能對(duì)比,oracle性能最少提高倍、db2性能最少提高 6倍,sqlserver性能最少提高5倍,如果批量處理與批量提交對(duì)比,oracle性能最少提高25倍,db2性能最少提2.前臺(tái)java調(diào)用sql語句性能對(duì)比表:高25倍,sqlserver性能提高很小。2.java 向 oracle,db2,sqlserver 插入 10000行數(shù)據(jù)后提交數(shù)據(jù),與每插入行數(shù)據(jù)提交一次的性能對(duì)比,oracle的性能最高。3.java 向

5、 oracle,db2,sqlserver 更新 10000行數(shù)據(jù)后提交數(shù)據(jù),與每更新行數(shù)據(jù)提交一次的性能對(duì)比,oracle性能最少提高13倍、db2 性能降低 1.4 倍,sqlserver性能最少提咼1.4倍,如果批量處理與批量提交對(duì)比,oracle性能最少提高2倍,db2性能最少提高1.3倍,sqlserver性能提高有所降低。4.java 向 oracle,db2,sqlserver 更新10000行數(shù)據(jù)后提交數(shù)據(jù),與每更新行數(shù)據(jù)提交一次的性能對(duì)比,oracle的性能最高5.java 向 oracle,db2,sqlserver 刪除10000行數(shù)據(jù)后提交數(shù)據(jù),行數(shù)據(jù)提交一性能最少提咼

6、次的性能對(duì)比,oracle性能最少提高16 倍、db2 性能降低 1.6 倍,sqlserver1.6倍,如果批量處理與批量提交對(duì)比,oracle性能最少提高2.8倍,db2性能最少提高1.36.java 向 oracle,db2,sqlserver 刪除倍,sqlserver性能最少提高1.2 。10000行數(shù)據(jù)后提交數(shù)據(jù),與每刪除1行數(shù)據(jù)提交一次的性能對(duì)比,oracle的性能最高總結(jié)后臺(tái)相對(duì)于前臺(tái)性能對(duì)比如下:1. 批量插入操作,oracle、db2性能差不多,sqlserver有所提高。2. 批量更新操作,oracle、db2,sqlserver性能差不多。3. 批量刪除操作,oracl

7、e、db2性能差不多,sqlserver有所下降4. 批量提交插入操作,oracle、db2,sqlserver 性能提高較大5. 批量提交操作,oracle、db2性能提高較大,sqlserver性能差不多。6. 批量提交操作,oracle、db2性能提高較大,sqlserver有所下降性能從對(duì)比來看后臺(tái)與前臺(tái)批量操作性能差不多,但后臺(tái)與前臺(tái)批量提交相比oracle,db2都有較大的提高,而sqlserver反而有所下降。腳本:1做批量插入l.oracle:createtabletest(a in t,bchar(1O);CREATEORREPLACEPROCEDUREdowhile(in_

8、cou nti nt)asv1INT;BEGINv1:=in _cou nt;WHILEv1>0loopinsertin totestvalues(v1,'abcd');v1:=v1-1;-commit;ENDloop;END;CREATEORREPLACEPROCEDUREdowhile_commit(in_cou nti nt)asV1INT;BEGINv1:=in _cou nt;WHILEv1>0loopinsertin totestvalues(v1,'abcd');v1:=v1-1;commit;ENDloop;END;Execdowhi

9、le(10000);發(fā)費(fèi)時(shí)間:0.281秒Execdowhile_commit(10000);發(fā)費(fèi)時(shí)間0734秒2.db2:createtabletest(a in t,bchar(10);CREATEPROCEDUREYDGFTEST01.DOWHILE(ININ_COUNTi nt)LANGUAGESQLSPECIFICDOWHILEBEGINDECLAREv1int;setv1= in_count;whilev1>0doinsertin totestvalues(v1,'abcd');SETv 仁 v1-1;en dwhile;ENDCREATEPROCEDUREY

10、DGFTEST01.DOWHILE_COMMIT(ININ_COUNTint)LANGUAGESQLSPECIFICDOWHILE_COMMITBEGINDECLAREv1int;setv1=in_count;whilev1>0doinsertintotestvalues(v1,'abcd');commit;SETv1=v1-1;endwhile;ENDCalldowhile(10000)發(fā)費(fèi)時(shí)間 :0.156 秒Calldowhile_commit(10000)發(fā)費(fèi)時(shí)間 :44 秒3.sqlserver:createtabletest(aint,bchar(10);cr

11、eateproceduredowhilein_countintasbegindeclarev1intselectv1=in_countwhile(v1>0)begininsertin totestvalues(v1,'abcd') selectv1=v1-1endendcreateproceduredowhile_commit in_coun ti nt asbegindeclarev1i ntselectv1= in_countwhile(v1>0)begininsertin totestvalues(v1,'abcd')commitselectv

12、1=v1-1endendexecdowhile10000發(fā)費(fèi)時(shí)間:2秒Execdowhile_commit10000發(fā)費(fèi)時(shí)間:4秒2做批量更新1.oracleCREATEORREPLACEProcedureDowhile_u(ln_Cou ntln t)AsV1I nt;Begi nV1:=ln_Cou nt;WhileV1>0LoopUpdatetestSetb='frtg'Wherea=v1;V1:=V1-1;En dLoop;En d;CREATEORREPLACEProcedureDowhile_u_commit(ln_Cou ntl nt)AsV1I nt;Be

13、gi nV1:=In_Cou nt;WhileV1>0LoopUpdatetestSetb='frtg'Wherea=v1;Commit;V1:=V1-1;En dLoop;En d;Exec Dowhile_u(10000)發(fā)費(fèi)時(shí)間5641秒Exec Dowhile_u_commit(10000)發(fā)費(fèi)時(shí)間6125秒2.db2CREATEPROCEDUREYDGFTEST01.DOWHILE_UININ_COUNTINT)LANGUAGESQLSPECIFICDOWHILE_UBEGINDECLAREv1INT;SETv1=in_count;WHILEv1>0DOU

14、PDATEtestSETb='frtq'WHEREa=v1;SETv1=v1-1;ENDWHILE;ENDCREATEPROCEDUREYDGFTEST01.DOWHILE_U_commit(ININ_COUNTINT)LANGUAGESQLSPECIFICDOWHILE_U_commitBEGINDECLAREv1INT;SETv1=in_count;WHILEv1>0DOUPDATEtestSETb='frtq'WHEREa=v1;commit;SETv1=v1-1;ENDWHILE;ENDCalldowhile_u(10000)發(fā)費(fèi)時(shí)間 :27.38

15、9 秒Calldowhile_u(10000)發(fā)費(fèi)時(shí)間 :46.654 秒3.sqlserver createproceduredowhile_uin_countint asbegin declarev1int selectv1=in_count while(v1>0)beginupdatetestsetb='frtg'wherea=v1 selectv1=v1-1 end end createproceduredowhile_u_commitin_countintasbegindeclarev1i ntselectv仁 in_countwhile(v1>0)beg

16、inupdatetestsetb='frtg'wherea=v1commitselectv1=v1-1endendExec Dowhile_u(10000)發(fā)費(fèi)時(shí)間:1分1秒Exec Dowhile_u_commit(10000)發(fā)費(fèi)時(shí)間:1分14秒3.做批量刪除1.oracleCREATEORREPLACEProcedureDowhile_D(ln_Cou ntln t)AsV1lnt;Beg inV1:=In_Cou nt;WhileV1>0LoopDeleteFromtestWhereid=v1;V1:=V1-1;En dLoop;En d;CREATEORREPL

17、ACEProcedureDowhile_D_commit(ln_Cou ntl nt)AsV1I nt;Beg inV1:=In_Cou nt;WhileV1>0LoopDeleteFromtestWhereid=v1;Commit;V1:=V1-1;En dLoop;En d;Execdowhile_d(10000)發(fā)費(fèi)時(shí)間3578秒Execdowhile_d_commit(10000)發(fā)費(fèi)時(shí)間4032秒2.db2CREATEPROCEDUREYDGFTEST01.DOWHILE_D(ININ_COUNTINT)LANGUAGESQLSPECIFICDOWHILE_DBEGINDECL

18、AREv1INT;SETv1=in_cou nt;WHILEv1>0DOdeletefromtestWHEREid=v1;SETv1=v1-1;ENDWHILE;ENDCREATEPROCEDUREYDGFTEST01.DOWHILE_D_COMMIT(ININ_COUNTINT)LANGUAGESQLSPECIFICDOWHILE_D_COMMITBEGINDECLAREv1INT;SETv1=in_count;WHILEv1>0DOdeletefromtestWHEREid=v1;commit;SETv1=v1-1;ENDWHILE;ENDCalldowhile_d(10000)發(fā)費(fèi)時(shí)間 :19.014 秒Calldowhile_d_commit(10000)發(fā)費(fèi)時(shí)間 :45.482 秒3.sqlservercreateproceduredowhile_din_countintasbegindeclarev1intselectv1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論