db2中事務的隔離級別分為 ur(未落實的讀),cs(游標穩定性),rs(讀穩定性),rr(可重複讀)
事務中更改隔離級別的語句 connect reset; change isolation to ur; connect to testdb
以下為各級別的特點: 1.
ur下可能出現髒讀,他的隔離級別最低
該操作不對錶,資料行進行鎖定 2.
cs可以避免髒讀,但可能出現不可重複讀的現象
update操作發生後,update影響的行上會出現x鎖(寫鎖,個人理解為不可髒讀資料行的寫鎖) 3.
rs可以避免不可重複讀的問題,但可能出現幻讀的現象
select,update操作發生後,在select,update影響的行上,發生了共享鎖,其它事務若想update這些行,就會發生互斥,引發鎖等待 4.
rr可以避免幻讀
讀操作發生後,在表上加了s鎖(共享鎖,個人理解為,不可寫表的鎖),所以update等更新鎖,在表級別上與它發生了互斥
名詞解釋:
所謂 髒度,指的是,讀取了另一事務中未提交的資料
所謂 不可重複讀,指的是,本事務中兩次讀取資料的結果不同
所謂 幻讀,指的是,本事務,可能讀到,其它事務插入的新資料
參考 http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0805qikk/
DB2事務隔離級別
select from tablename where id 1with ur4 rr repeatable read 可重新性,可 重複讀是最高的隔離級別,提供了最大程度的鎖定和最少的並行。產生結果集的所有行都會被鎖定,也就是說,即使不必出現在最終結果集中的行也會被鎖定。在此 該工作單元結束前,任...
db2 隔離級別
1.當事務在多使用者環境中沒有彼此隔離時,將會產生以下三種後果 1 髒讀 這種情況發生在乙個事務讀取還未提交的資料時。例如 事務1改變了一行資料,而在事務1提交修改之前事務2讀取了事務1所改變的行的資料。如果事務1回滾了修改,那末事務2就讀取了實際上並不存在的資料。2 不可重複讀 這種情況發生在事務...
db2 隔離級別 詳解
table b jdbc隔離級別 b b 資料庫隔離級別 b b 資料訪問情況 b transaction read uncommitted 未提交的讀 uncommitted read ur 就是俗稱 髒讀 dirty read 在沒有提交資料時能夠讀到已經更新的資料 transaction re...