自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于DB2隔離級解讀和試驗的個人資料

數(shù)據(jù)庫
本文主要向你介紹的是DB2隔離級解讀和試驗,以下的文章就是對DB2隔離級解讀和試驗相關(guān)內(nèi)容的描述,希望會給你帶來一些幫助在此方面。

此文章主要講述的是DB2隔離級解讀和試驗,前兩天我在相關(guān)網(wǎng)站看見DB2隔離級解讀和試驗的資料,覺得挺好,就拿出來供大家分享,你如果對其有興趣的話你就可以點擊以下的文章進行觀看了。

我們大家都知道在DB2數(shù)據(jù)庫中,其一共有4種隔離級即,RS,RR,CS,UR.以下的文章主要是對這4種隔離級進行一些描述,同時附上個人做試驗的結(jié)果。隔離級是影響加鎖策略的重要環(huán)節(jié),它直接影響加鎖的范圍及鎖的持續(xù)時間。

 

基本信息

 

摘要:在DB2中,共有四種隔離級:RS,RR,CS,UR.以下對四種隔離級進行一些描述,同時附上個人做試驗的結(jié)果。隔離級是影響加鎖策略的重要環(huán)節(jié),它直接影響加鎖的范圍及鎖的持續(xù)時間。兩個應(yīng)用程序即使執(zhí)行的相同的操作,也可能由于選擇的隔離級的不同而造成加鎖的結(jié)果不同。

隔離級解讀和試驗

隔離級是影響加鎖策略的重要環(huán)節(jié),它直接影響加鎖的范圍及鎖的持續(xù)時間。兩個應(yīng)用程序即使執(zhí)行的相同的操作,也可能由于選擇的隔離級的不同而造成加鎖的結(jié)果不同。在DB2隔離級解讀中,共有四種隔離級:RS,RR,CS,UR.以下對四種隔離級進行一些描述,同時附上個人做試驗的結(jié)果。

讀可靠性(RS-Read Stability)

如果使用這種隔離級,在一個事務(wù)中所有被讀取過的行上都會被加上NS鎖,直到該事務(wù)被提交或回滾,行上的鎖才會被釋放。這樣可以保證在一個事務(wù)中即使多次讀取同一行,得到的值不會改變。

但是,如果使用這種隔離級,在一個事務(wù)中,如果使用同樣的搜索標準重新打開已被處理過的游標,則結(jié)果集可能改變。(可能會增加某些行,這些行被稱為幻影行(Phantom))。這是因為RS隔離級不能阻止通過插入或更新操作在結(jié)果集中加入新行。

個人筆記:

根據(jù)實際測試情況,RS模式下:查詢完畢以后,滿足條件的結(jié)果集中的記錄被鎖定,不滿足條件的不被鎖定。

可以對不滿足條件的記錄更新,也可以插入新的記錄。其他人可以查詢滿足已經(jīng)鎖定的記錄,但不可以更新。

重復(fù)讀(RR-Repeat Read)

如果使用這種隔離級,在一個事務(wù)中所有被讀取過的行上都會被加上S鎖,知道該事務(wù)被提交或回滾,行上的鎖才會被釋放。這樣可以保證在一個事務(wù)中即使多次讀取同一行,得到的值不會改變。

另外,在同一事務(wù)中如果以同樣的搜索標準重新打開已被處理過的游標,得到的結(jié)果集不會改變。重復(fù)讀相對于讀可靠性而言,加鎖的范圍更大。

對于讀可靠性,應(yīng)用程序只對符合要求的所有行加鎖,而對于重復(fù)讀,應(yīng)用程序?qū)λ斜粧呙柽^的行都加鎖。例如,如果一個應(yīng)用程序?qū)σ粋€表中的 10000行數(shù)據(jù)進行掃描,最終找到了100條符合搜索條件的結(jié)果行。如果該應(yīng)用程序使用的是讀可靠性隔離級,應(yīng)用程序?qū)⒅粚@符合條件的100行加鎖;如果該應(yīng)用程序使用的是重復(fù)讀隔離級,應(yīng)用程序?qū)Ρ粧呙柽^的10000行都加鎖。

個人筆記

根據(jù)實際測試情況,RR模式下:查詢完畢以后,不可以對不滿足條件的進行更新,也不可以插入新記錄??赡茉蚴牵喝绻试S別人更新記錄或者插入新記錄的話,則可能造成原來結(jié)果集的破壞,重新讀的時候和以前不同。

select for update with rr/rs 是可以用來實現(xiàn)記錄鎖。是一種特殊情況。即便是RR,仍然可以對其他記錄操作。

游標可靠性(CS-Cursor Stability)

如果使用這種隔離級,在一個事務(wù)中,結(jié)果集中只有正在被讀取的那一行(游標指向的行)將被加上NS鎖,其他未被處理的行上不被加鎖。這種隔離級只能保證正在被處理的行的值不會被其他并發(fā)的程序所改變。該隔離級是DB2隔離級解讀缺省的隔離級。

個人筆記

僅僅在游標在該行的時候鎖定,這是一種非常弱的隔離狀態(tài)。

未提交讀(UR-Uncommitted Read)

如果使用這種隔離級,對于只讀操作,不加行鎖。典型的只讀操作包括:

SELECT語句的結(jié)果集只讀(比如語句中包括ORDER BY子句);

定義游標是指明起為FOR FETCH ONLY。

該隔離級可以改善應(yīng)用程序的性能,同時可以最大程度的允許并發(fā)。但是,應(yīng)用程序的數(shù)據(jù)完整性將受到威脅。如果需要讀取未提交的數(shù)據(jù),該隔離級是唯一選擇。

個人筆記

讀的時候完全不受限制,對于同一行記錄的完整性也無法保證。

總結(jié)

以上我們所提的隔離級的加鎖范圍和持續(xù)時間都是針對于讀操作而言的。

對于更改操作,被修改的行上會被加上X鎖,不論使用何種隔離級,X鎖直到提交或回滾之后才會被釋放。以上的相關(guān)內(nèi)容就是對DB2隔離級解讀與試驗的介紹,望你能有所收獲。

【編輯推薦】

  1. DB2建立數(shù)據(jù)庫分區(qū)要用的命令有哪些?
  2. DB2 9.5的數(shù)據(jù)庫內(nèi)存保護,輕松掌握!
  3. DB2強制優(yōu)化器的使用“竅門”不得不看
  4. DB2快照函數(shù)如何正確理解?
  5. 使用重定向恢復(fù)DB2數(shù)據(jù)庫的操作技巧是什么?

 

責任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-07-29 10:30:41

DB2隔離級

2010-07-30 14:07:18

DB2隔離級

2010-08-26 10:13:52

DB2java連接

2010-09-30 16:21:40

DB2隔離級別

2010-09-30 16:41:36

DB2隔離級別

2010-11-03 10:35:45

DB2存儲過程

2010-09-01 11:17:29

DB2備份

2011-07-21 09:53:37

IBMDB2

2010-09-30 16:35:34

DB2隔離級別

2013-09-26 14:47:33

DB2 BLU

2010-08-05 09:14:29

DB2隔離級別

2009-01-19 18:18:23

2010-09-07 08:35:40

DB2常用函數(shù)

2012-12-07 10:19:56

IBMdW

2011-03-14 17:51:04

IBMDB2數(shù)據(jù)庫

2010-11-03 16:25:51

DB2列函數(shù)

2018-09-29 14:50:19

2011-05-11 13:01:07

DB2數(shù)據(jù)恢復(fù)數(shù)據(jù)備份

2010-08-17 10:06:25

IBM DB2的數(shù)據(jù)復(fù)

2009-05-06 17:09:02

點贊
收藏

51CTO技術(shù)棧公眾號