資料庫的事務隔離級別

2021-04-28 06:24:19 字數 1007 閱讀 7819

ansi/iso sql92標準定義了一些資料庫操作的隔離級別:

也就是隔離級別,0,

1,2,

3。ansi/iso sql92

標準有很詳細的說明,可是這個說明詳細是詳細,就是看不明白。今天經高人指點,茅廁頓開。

隔離級別

0與事務無關,並且不加鎖,也就是說例如

select * from t1

,系統掃瞄過和讀取的每一行都不加鎖。

隔離級別

1與事務無關,只對正在取數的行加鎖,取完數馬上開鎖,也就是說,

begin tran

然後select * from t1

即使沒有

commit

,鎖也會自動開啟。

隔離級別

2與事務有關,對掃瞄過的地方加鎖。例如,

select * from t1

,系統從第

1行開始掃瞄,掃瞄到第

5行的時候,1到

5行都處於鎖定狀態,直到

commit

,這些鎖才解開。

隔離級別

3與事務有關,對全表加鎖。

通過一些現象,可以反映出隔離級別的效果。這些現象有:

下面是隔離級別及其對應的可能出現或不可能出現的現象

dirty read

nonrepeatable read

phantom read

read uncommitted

possible

possible

possible

read committed

not possible

possible

possible

repeatable read

not possible

not possible

possible

serializable

not possible

not possible

not possible

資料庫事務隔離級別

資料庫事務的隔離級別有4個,由低到高依次為read uncommitted read committed repeatable read serializable,這四個級別可以逐個解決髒讀 不可重複讀 幻讀這幾類問題。可能出現 不會出現 髒讀不可重複讀 幻讀read uncommitted rea...

資料庫事務隔離級別

資料庫事務的隔離級別有4個,由低到高依次為read uncommitted read committed repeatable read serializable,這四個級別可以逐個解決髒讀 不可重複讀 幻讀這幾類問題。可能出現 不會出現 髒讀不可重複讀 幻讀read uncommitted rea...

資料庫事務隔離級別

資料庫事務的隔離級別有4個,由低到高依次為read uncommitted read committed repeatable read serializable 這四個級別可以逐個解決髒讀 不可重複讀 幻讀 這幾類問題。可能出現 不會出現 髒讀不可重複讀 幻讀read uncommitted re...