資料庫的事務隔離級別

2021-08-30 12:13:45 字數 516 閱讀 8588

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

l 未提交讀(read uncommitted)

l 提交讀(read committed)

l 重複讀(repeatable read)

l 序列化(serializable)

也就是隔離級別,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與事務有關,對全表加鎖。

資料庫事務隔離級別

資料庫事務的隔離級別有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...