下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、今天答辯囧態(tài)百出。然后認(rèn)真的把資料分析和整理了下,思路縷清楚了,也把幾個問題制造出來,下次不能再這樣了,啊HOU.l 臟讀出現(xiàn)問題的情況先運(yùn)行事務(wù)在運(yùn)行事務(wù),直到十秒結(jié)束后在運(yùn)行事務(wù),出現(xiàn)臟讀-事務(wù)begin tranupdate lock set A2 = 20 where A1 = 10waitfor delay'00:00:10'rollbacktran-事務(wù)SET TRANSACTION ISOLATION LEVEL READ unCommittedselect * from lock where A1 = 10現(xiàn)象:原數(shù)據(jù)庫數(shù)據(jù)運(yùn)行事務(wù)后是秒內(nèi)再運(yùn)行事務(wù),結(jié)果十秒后
2、在運(yùn)行事務(wù)用提交讀隔離級別解決-事務(wù)SET TRANSACTION ISOLATION LEVEL READ Committedbegin transelect * from lock WHERE A1=10commit tran-事務(wù)SET TRANSACTION ISOLATION LEVEL READ Committedselect * from lock where A1 = 10現(xiàn)象:原數(shù)據(jù)庫數(shù)據(jù)運(yùn)行事務(wù)后10秒內(nèi)再運(yùn)行事務(wù),結(jié)果事務(wù)進(jìn)入等待直到10秒后出現(xiàn)結(jié)果分析:1. 隔離級別為提交讀的事務(wù)在每次查詢時都會申請獲取共享鎖,而未提交讀則不會申請,而是直接執(zhí)行語句2. 在提交讀隔離級
3、別下,事務(wù)讀取數(shù)據(jù)時,對數(shù)據(jù)加上共享鎖,查詢結(jié)束后立刻釋放共享鎖(共享鎖的鎖定時間與事務(wù)的隔離級別有關(guān),見注1),在其他一個或者多個事務(wù)對某數(shù)據(jù)擁有共享鎖期間,無法獲得排它鎖,即無法對數(shù)據(jù)進(jìn)行修改。3. 當(dāng)其他事務(wù)對數(shù)據(jù)不擁有共享鎖時事務(wù)對數(shù)據(jù)進(jìn)行更新操作,將獲得排它鎖,直到事務(wù)提交才將鎖釋放。4. 若某一個事務(wù)獲得排他鎖時,則其他事務(wù)是不能獲得共享鎖的(即排他鎖與共享鎖不能兼容)所以提交讀就保證了不會出現(xiàn)臟讀的情況l 不可重復(fù)讀出現(xiàn)問題的情況T1運(yùn)行到一半,T2運(yùn)行完成之后T1才將事務(wù)提交-事務(wù)T1begin transelect * from lock where A1=10waitfor
4、 delay '00:00:10'select * from lock where A1=10commit tran-事務(wù)T2begin tranupdate lock set A2 = 70 where A1 = 10commit tran結(jié)果為使用可重復(fù)讀(repeatable read)則可以解決這個問題-事務(wù)T1SET TRANSACTION ISOLATION LEVEL repeatable readbegin transelect * from lock where A1=10waitfor delay '00:00:10'select * fro
5、m lock where A1=10commit tran-事務(wù)T2begin tranupdate lock set A2 = 70 where A1 = 10commit tran可重復(fù)讀的上鎖情況是事務(wù)在查詢時候獲取共享鎖,直到事務(wù)提交才將鎖釋放,在此期間其他事務(wù)無法獲得排他鎖,所以無法進(jìn)行更新操作,進(jìn)入等待,知道其他事務(wù)將共享鎖釋放。這樣避免了問題l 幻讀運(yùn)行T3后運(yùn)行在2-10秒內(nèi)運(yùn)行事務(wù)T4-事務(wù)T3begin transelect * from lockwaitfor delay '00:00:10'select * from lockcommit tran-事務(wù)
6、T4begin tranInsert into lock values(99,99)commit tran可串行讀(serializable)僅僅通過“行級鎖”是無法實現(xiàn)事務(wù)序列化的,必須通過其他機(jī)制保證新插入的數(shù)據(jù)不會被剛執(zhí)行查詢操作的事務(wù)訪問到??偨Y(jié):隔離級別越高,越能保證數(shù)據(jù)的完整性和一致性,但是對并發(fā)性能的影響也越大。對于多數(shù)應(yīng)用程序,可以優(yōu)先考慮把數(shù)據(jù)庫系統(tǒng)的隔離級別設(shè)為Read Committed。它能夠避免臟讀取,而且具有較好的并發(fā)性能。盡管它會導(dǎo)致不可重復(fù)讀、虛讀和第二類丟失更新這些并發(fā)問題,在可能出現(xiàn)這類問題的個別場合,可以由應(yīng)用程序采用悲觀鎖或樂觀鎖來控制。注1:共享鎖的鎖定時間與事務(wù)的隔離級別有關(guān),如果隔離級別為Read Committed的默認(rèn)級別,只在讀取(select)的期間保持鎖定,即在查詢出數(shù)據(jù)以后就
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育培訓(xùn)居間合同管轄權(quán)與教學(xué)質(zhì)量監(jiān)督2篇
- 大堂經(jīng)理職責(zé)內(nèi)容(2篇)
- 2025年職業(yè)技能鑒定管理制度(3篇)
- 二零二五年度建筑機(jī)械買賣與安裝合同3篇
- 2025年競選醫(yī)院演講稿范文(2篇)
- 大型活動安全事故應(yīng)急預(yù)案樣本(2篇)
- 網(wǎng)頁課程設(shè)計與制作
- 可燃?xì)怏w安全管理規(guī)定模版(3篇)
- 細(xì)胞器導(dǎo)入課程設(shè)計
- 2025年第二學(xué)期小學(xué)語文教研組工作計劃例文(2篇)
- 2025北京朝陽初二(上)期末數(shù)學(xué)真題試卷(含答案解析)
- 做賬實操-科學(xué)研究和技術(shù)服務(wù)業(yè)的賬務(wù)處理示例
- 2025年人教版歷史八上期末復(fù)習(xí)-全冊重難點(diǎn)知識
- 2024年國家安全員資格考試題庫及解析答案
- 儀控技術(shù)手冊-自控專業(yè)工程設(shè)計用典型條件表
- 法務(wù)崗位招聘筆試題及解答(某大型國企)2025年
- 衛(wèi)生部關(guān)于發(fā)布《綜合醫(yī)院組織編制原則試行草案》的通知((78)衛(wèi)醫(yī)字第1689號)
- 部編版八上語文古代詩歌鑒賞對比閱讀(含答案)
- 標(biāo)書密封條格式模板大全(共33頁)
- 鐵路交通事故分類表
- 維修確認(rèn)單(共4頁)
評論
0/150
提交評論