數(shù)據(jù)隔離級(jí)別

上傳人:無(wú)*** 文檔編號(hào):252931830 上傳時(shí)間:2024-11-25 格式:PPT 頁(yè)數(shù):19 大?。?88KB
收藏 版權(quán)申訴 舉報(bào) 下載
數(shù)據(jù)隔離級(jí)別_第1頁(yè)
第1頁(yè) / 共19頁(yè)
數(shù)據(jù)隔離級(jí)別_第2頁(yè)
第2頁(yè) / 共19頁(yè)
數(shù)據(jù)隔離級(jí)別_第3頁(yè)
第3頁(yè) / 共19頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)隔離級(jí)別》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)隔離級(jí)別(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級(jí),,第三級(jí),,第四級(jí),,第五級(jí),,,*,數(shù)據(jù)隔離級(jí)別,,,,,隔離級(jí)別定義了事務(wù)與事務(wù)之間的隔離程度。,,隔離級(jí)別與并發(fā)性是互為矛盾的:隔離程度越高,數(shù)據(jù)庫(kù)的并發(fā)性越差;隔離程度越低,數(shù)據(jù)庫(kù)的并發(fā)性越好。,,,ANSI/ISO SQL92,標(biāo)準(zhǔn)定義了一些數(shù)據(jù)庫(kù)操作的隔離級(jí)別:,,未提交讀(,read uncommitted,),,提交讀(,read committed,),,重復(fù)讀(,repeatable read,),,序列化(,serializable,),,,通過一些現(xiàn)象,可以反映出隔離級(jí)別的效果。這些現(xiàn)象有:,,,更新丟失(

2、,lost update,):當(dāng)系統(tǒng)允許兩個(gè)事務(wù)同時(shí)更新同一數(shù)據(jù)是,發(fā)生更新丟失。,,,臟讀(,dirty read,):當(dāng)一個(gè)事務(wù)讀取另一個(gè)事務(wù)尚未提交的修改時(shí),產(chǎn)生臟讀。,,,非重復(fù)讀(,nonrepeatable,read,):同一查詢?cè)谕皇聞?wù)中多次進(jìn)行,由于其他提交事務(wù)所做的修改,每次返回不同的結(jié)果集,此時(shí)發(fā)生非重復(fù)讀。,,,幻像(,phantom read,):同一查詢?cè)谕皇聞?wù)中多次進(jìn)行,由于其他提交事務(wù)所做的插入或刪除操作,每次返回不同的結(jié)果集,此時(shí)發(fā)生幻像讀。,,,下面是隔離級(jí)別及其對(duì)應(yīng)的可能出現(xiàn)或不可能出現(xiàn)的現(xiàn)象,,,臟讀,: Mary,的原工資為,1000,,財(cái)務(wù)人員將

3、,Mary,的工資改為了,8000,,但未提交事務(wù),,,Connection con1 =,getConnection,();,con.setAutoCommit(,false,);,,update employee set salary = 8000 where,empId,="Mary";,,,,與此同時(shí),,Mary,正在讀取自己的工資,,,Connection con2 =,getConnection,();,,select salary,fromemployee,where,empId,="Mary"; mit();,,,Mary,發(fā)現(xiàn)自己的工資變?yōu)榱?8000,,歡天喜地! 而財(cái)務(wù)

4、發(fā)現(xiàn)操作有誤,而回滾了事務(wù),,Mary,的工資又變?yōu)榱?1000 //con1 con1.rollback();,像這樣,,Mary,記取的工資數(shù),8000,是一個(gè)臟數(shù)據(jù)。,READ_COMMITTED,保證一個(gè)事務(wù)修改的數(shù)據(jù)提交后才能被另外一個(gè)事務(wù)讀取。另外一個(gè)事務(wù)不能讀取該事務(wù)未提交的數(shù)據(jù)。這種事務(wù)隔離級(jí)別可以避免臟讀出現(xiàn),但是可能會(huì)出現(xiàn)不可重復(fù)讀和幻像讀。,,,,不可重復(fù)讀:,,,在事務(wù),1,中,,Mary,讀取了自己的工資為,1000,,操作并沒有完成,con1 =,getConnection,();,,select salary from employee,empId,="Mary

5、";,在事務(wù),2,中,這時(shí)財(cái)務(wù)人員修改了,Mary,的工資為,2000,,并提交了事務(wù),. con2 =,getConnection,();,,update employee set salary = 2000;,在事務(wù),1,中,,Mary,再次讀取自己的工資時(shí),工資變?yōu)榱?2000 //con1 select salary from employee,empId,="Mary";,,,在一個(gè)事務(wù)中前后兩次讀取的結(jié)果并不致,導(dǎo)致了不可重復(fù)讀。 使用,REPEATABLE_READ,可以避免這種情況發(fā)生。,,,,幻像讀:,,目前工資為,1000,的員工有,10,人。 事務(wù),1,,讀取所

6、有工資為,1000,的員工。,,con1 =,getConnection,();,,Select * from employee where salary =1000;,共讀取,10,條記錄 這時(shí)另一個(gè)事務(wù)向,employee,表插入了一條員工記錄,工資也為,1000 con2 =,getConnection,();,,Insert into,employee(empId,salary,) values("Lili",1000); mit();,事務(wù),1,再次讀取所有工資為,1000,的員工,//con1 select * from employee where salary =1000

7、;,,,共讀取到了,11,條記錄,這就產(chǎn)生了幻像讀。,,,ISOLATION_SERIALIZABLE,能避免這樣的情況發(fā)生。但是這樣也耗費(fèi)了最大的資源。,,,,大多數(shù)數(shù)據(jù)庫(kù)的默認(rèn)隔離級(jí)別為,:?Read,Commited,,,如,Sql,Server?,?Oracle.,,,,少數(shù)數(shù)據(jù)庫(kù)默認(rèn)的隔離級(jí)別為,Repeatable?Read,,如,MySQL,,InnoDB,存儲(chǔ)引擎,,鎖的概念,2-1,,鎖是數(shù)據(jù)庫(kù)用來(lái)控制共享資源并發(fā)訪問的機(jī)制。,,鎖用于保護(hù)正在被修改的數(shù)據(jù),,直到提交或回滾了事務(wù)之后,其他用戶才可以更新數(shù)據(jù),,,鎖的概念,2-2,,修改表,修改表,拒絕訪問,Toy_ID,Na

8、me,Price,T001,Barbie,20,T002,GI Joe,45,,鎖定的優(yōu)點(diǎn),,一致性,,-,一次只允許一個(gè)用戶修改數(shù)據(jù),,完整性,,-,為所有用戶提供正確的數(shù)據(jù)。如果一個(gè)用戶進(jìn)行了修改并保存,所做的修改將反映給所有用戶,并行性,-允許多個(gè)用戶訪問同一數(shù)據(jù),Toy_ID,Name,Price,T001,Barbie,20,T002,GI Joe,45,修改表中,,的數(shù)據(jù),查看表中的數(shù)據(jù),允許訪問,,表級(jí)鎖,行級(jí)鎖,鎖的類型,,鎖的類型,,行級(jí)鎖,3-1,,Toy_ID,Name,Price,T001,Barbie,20,T002,GI Joe,45,更新,T00,2,行,更新,T

9、001,,行,行被鎖定,對(duì)正在被修改的行進(jìn)行鎖定。其他用戶可以訪問除被鎖定的行以外的行,允許訪問,,行級(jí)鎖,3-2,,行級(jí)鎖是一種排他鎖,防止其他事務(wù)修改此行,,在使用以下語(yǔ)句時(shí),,Oracle,會(huì)自動(dòng)應(yīng)用行級(jí)鎖:,,INSERT,,UPDATE,,DELETE,,SELECT … FOR UPDATE,,SELECT … FOR UPDATE,語(yǔ)句允許用戶一次鎖定多條記錄進(jìn)行更新,,使用,COMMIT,或,ROLLBACK,語(yǔ)句釋放鎖,,行級(jí)鎖,3-3,,SELECT … FOR UPDATE,語(yǔ)法,:,,,SELECT … FOR UPDATE [OF columns] [WAIT n |

10、 NOWAIT];,SQL> SELECT * FROM,order_master,WHERE,vencode,=’V002’,,FOR UPDATE OF,odate,,,del_date,;,,SQL> UPDATE,order_master,SET,del_date,=’28-8,月,-05’,,WHERE,vencode,=’V002’;,,SQL> COMMIT;,SQL> SELECT * FROM,order_master,WHERE,vencode,=’V002’,,FOR UPDATE WAIT 5;,SQL> SELECT * FROM,order_master,WHERE

11、,vencode,=’V002’,,FOR UPDATE NOWAIT;,,表級(jí)鎖,3-1,,Toy_ID,Name,Price,T001,Barbie,20,T002,GI Joe,45,修改表中的行,更新表,拒絕訪問,鎖定整個(gè)表,限制其他用戶對(duì)表的訪問。,,表級(jí)鎖,3-2,,表級(jí)鎖類型,行共享,行排他,共享,使用命令顯示地鎖定表,應(yīng)用表級(jí)鎖的語(yǔ)法是,:,,,LOCK TABLE,table_name,IN mode,MODE,;,共享行排他,排他,,表級(jí)鎖,3-3,,行共享,(ROW SHARE) –,禁止排他鎖定表,,行排他,(ROW EXCLUSIVE) –,禁止使用排他鎖和共享鎖,,

12、共享鎖,(SHARE),,鎖定表,僅允許其他用戶查詢表中的行,,禁止其他用戶插入、更新和刪除行,,多個(gè)用戶可以同時(shí)在同一個(gè)表上應(yīng)用此鎖,,共享行排他,(SHARE ROW EXCLUSIVE) –,比共享鎖更多的限制,禁止使用共享鎖及更高的鎖,,排他,(EXCLUSIVE) –,限制最強(qiáng)的表鎖,僅允許其他用戶查詢?cè)摫淼男?。禁止修改和鎖定表,,死鎖,,當(dāng)兩個(gè)事務(wù)相互等待對(duì)方釋放資源時(shí),就會(huì)形成死鎖,,Oracle,會(huì)自動(dòng)檢測(cè)死鎖,并通過結(jié)束其中的一個(gè)事務(wù)來(lái)解決死鎖,,右邊是一個(gè)死鎖的例子,T,1,T,2,lock,(D,1,),時(shí)間,lock,(D,2,),lock,(D,2,),lock,(D,1,),等待,等待,…,…,,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲