下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、sybase:鎖、事務(wù)、并發(fā)、死鎖、測試測試總結(jié):1、在事務(wù)中,要更新的表不是事務(wù)開始時就全部鎖定了,只是在用到時才鎖定,等提交時才 釋放。這就要注意一個問題,在事務(wù)中,前面查詢的數(shù)據(jù),在后面該值可能已經(jīng)改變了。2、事務(wù)并發(fā), 并相互有競爭,但沒有死鎖時,兩個都成功。3、事務(wù)并發(fā),并相互有競爭,有死鎖時,只有一個成功, 最后發(fā)現(xiàn)死鎖的事務(wù)才可成功。測試環(huán)境:數(shù)據(jù)庫版本:sybase_win_12.5.2sql執(zhí)行程序:sqladv1、先建2個測試表tA,tB;插入測試數(shù)據(jù)if exists (select 1from sysobjectswhere id = object_id(tA)and
2、type = U) Sdrop table tAgoif exists (select 1from sysobjectswhere id = object_id(tB)and type = U)drop table tB go /*=*/ /* Table: t A*/ copyright Sqlclub /*=*/ create table tA ( namechar(20)null,priceintdefault 0 null,) go /*=*/ /* Table: t B*/本文來自Sqlclub/*=*/ create table tB (namechar(20)null,salep
3、riceintdefault 0 null,)go ALTER TABLE tA LOCK DATAROWSALTER TABLE tB LOCK DATAROWSgo insert into tA(name, price) values (book,20) insert into tB(name, saleprice) values (book,10)go查詢結(jié)果result:select * from tAselect * from tB nameprice Sqlclubbook20 namesalepricebook10測試用例1:事務(wù)和別的sql發(fā)生并發(fā)的情況1:測試代碼:事務(wù)代碼
4、tran1: begin tranupdate tA set price=price+100 where name=bookwaitfor delay 00:00:05update tB set saleprice=saleprice+100 where name=bookcommit tran 并發(fā)代碼 code1:update tA set price=price+20000 where name=book測試步驟: 內(nèi)容來自 S執(zhí)行tran1,然后馬上執(zhí)行并發(fā)代碼code1測試結(jié)果:tran1執(zhí)行完成后code1也執(zhí)行完成了。tran1:(1 row affected)(1 row af
5、fected) code1:(1 row affected) result:namepricebook20120 namesalepricebook110測試說明,在事務(wù)處理成功后,并發(fā)才能執(zhí)行。copyright Sqlclub測試用例2:事務(wù)和別的sql發(fā)生并發(fā)的情況2:測試代碼:事務(wù)代碼 tran1: begin tranupdate tA set price=price+100 where name=bookwaitfor delay 00:00:05update tB set saleprice=saleprice+100 where name=bookcommit tran 并發(fā)代
6、碼 code2:update tB set saleprice=saleprice+10000 where name=book測試步驟:執(zhí)行tran1,然后馬上執(zhí)行并發(fā)代碼code2測試結(jié)果:code2馬上能成功,tran1也能按時執(zhí)行成功。tran1:(1 row affected)(1 row affected) code2:(1 row affected) result:namepricebook120 namesaleprice 本文來自 Sqlclubbook10110測試說明,并發(fā)代碼在事務(wù)沒有鎖定相關(guān)記錄時,還是可以修改的。用例1和用例2說明,在事務(wù)中,要更新的表不是事務(wù)開始時就
7、全部鎖定了,只是在用到時才鎖定,等提交時 才釋放。 這就要注意一個問題,在事務(wù)中,前面查詢的數(shù)據(jù),在后面該值可能已經(jīng)改變了。測試用例3: 事務(wù)和事務(wù)發(fā)生并發(fā)的情況1: 測試代碼: 事務(wù)代碼 tran1: begin tran update tA set price=price+100 where name=book waitfor delay 00:00:05 update tB set saleprice=saleprice+100 where name=book commit tran 事務(wù)代碼 tran2: begin tran update tB set saleprice=salep
8、rice+10000 where name=book Supdate tA set price=price+20000 where name=book commit tran測試步驟: 執(zhí)行tran1,然后馬上執(zhí)行tran2測試結(jié)果: tran1執(zhí)行完成后tran2也執(zhí)行完成了,但tran2出錯了。 tran1: (1 row affected) (1 row affected) tran2: (1 row affected) Server Message: Number 1205, Severity 13 Server ONLINEDB, Line 5:Your server command
9、 (family id #0, process id #17) encountered a deadlock situation. Please rerun your command. result: namepricebook120 namesaleprice copyright Sqlclubbook110測試說明,事務(wù)并發(fā),并相互有競爭,但沒有死鎖時,兩個都成功。測試用例4:事務(wù)和事務(wù)發(fā)生并發(fā)的情況1:測試代碼:事務(wù)代碼 tran1: begin tranupdate tA set price=price+100 where name=bookwaitfor delay 00:00:05
10、update tB set saleprice=saleprice+100 where name=bookcommit tran 事務(wù)代碼 tran3: begin tranupdate tA set price=price+20000 where name=bookupdate tB set saleprice=saleprice+10000 where name=bookcommit tran測試步驟:執(zhí)行tranl,然后馬上執(zhí)行tran3測試結(jié)果:tranl執(zhí)行完成后tran3也執(zhí)行完成了。tranl:(1 row affected) S(1 row affected) tran3:(1
11、 row affected)(1 row affected) result:namepricebook20120 namesalepricebook10110測試說明,事務(wù)并發(fā),并相互有競爭,但沒有死鎖時,兩個都成功。測試用例5:S事務(wù)和事務(wù)發(fā)生并發(fā)的情況2:測試代碼:事務(wù)代碼 tran1: begin tranupdate tA set price=price+100 where name=bookwaitfor delay 00:00:05update tB set saleprice=saleprice+100 where name=bookcommit tran 事務(wù)代碼 tran4:
12、 begin tranupdate tB set saleprice=saleprice+10000 where name=bookupdate tA set price=price+20000 where name=bookcommit tran 測試步驟:執(zhí)行tran1,然后馬上執(zhí)行tran4測試結(jié)果:tran1執(zhí)行完成后tran4也執(zhí)行完成了,但tran1完成時間是12秒。tran1:(1 row affected)(1 row affected) tran4:(1 row affected)Server Message: Number 1205, Severity 13Server O
13、NLINEDB, Line 3:Your server command (family id #0, process id #17) encountered a deadlock situation. Please rerun your command. result:nameprice copyright Sqlclubbook120 namesalepricebook110測試說明,事務(wù)并發(fā),并相互有競爭,有死鎖時,只有一個成功,最后發(fā)現(xiàn)死鎖的事務(wù)才可成功。測試用例6:事務(wù)和事務(wù)發(fā)生并發(fā)的情況3:測試代碼:事務(wù)代碼 tranl: begin tranupdate tA set price=
14、price+100 where name=bookSqlclub學(xué)習(xí)社區(qū)waitfor delay 00:00:05update tB set saleprice=saleprice+100 where name=book commit tran 事務(wù)代碼 tran5: begin tranupdate tB set saleprice=saleprice+10000 where name=book waitfor delay 00:00:10update tA set price=price+20000 where name=book commit tran測試步驟:執(zhí)行tran1,然后馬上
15、執(zhí)行tran5測試結(jié)果:tran1執(zhí)行完成后tran5也執(zhí)行完成了,但tran1完成時間是12秒。tran1:(1 row affected)Server Message: Number 1205, Severity 13Server ONLINEDB, Line 5:Your server command (family id #0, process id #15) encountered a deadlock situation. Please rerun your command. tran5: (1 row affected) (1 row affected) result: name
16、price內(nèi)容來自Sbook20020 namesalepricebook10010測試說明,事務(wù)并發(fā),并相互有競爭,有死鎖時,只有一個成功,最后發(fā)現(xiàn)死鎖的事務(wù)才可成功。測試用例7:事務(wù)和事務(wù)發(fā)生并發(fā)的情況4:測試代碼:事務(wù)代碼 tran1: begin tranupdate tA set price=price+100 where name=bookwaitfor delay 00:00:05update tB set saleprice=saleprice+100 where name=bookcommit tran 事務(wù)代碼 tran6: begin tranSqlclub update tA set price=price+20000 where name=book waitfor delay 00:00:10update tB set saleprice=salep
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲外包服務(wù)合同
- 羽毛球場館租賃協(xié)議
- 投資理財借款合同范本
- 中途入股協(xié)議書
- 商業(yè)空間中的創(chuàng)意設(shè)計理念與實踐探索
- 戲曲作品制作合同模板
- 吊裝合同協(xié)議
- 純凈水買賣合同協(xié)議書范本
- 活動策劃咨詢服務(wù)合同
- 擔(dān)保融資協(xié)議
- 定位合作協(xié)議范本
- 深圳小學(xué)英語單詞表(中英文)
- 家庭成員及主要社會關(guān)系情況表
- 護理質(zhì)量反饋內(nèi)容
- 高效協(xié)同-培訓(xùn)課件
- 輿情員年度述職報告
- 20XX年市場洞察模板
- 遙感技術(shù)在地表水源地水體監(jiān)測中的應(yīng)用研究
- 醫(yī)院投訴整治總結(jié)匯報
- 核電經(jīng)驗反饋培訓(xùn)課件
- 急診科護士的病人投訴處理與糾紛解決
評論
0/150
提交評論