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...