資料庫的隔離

2021-10-08 18:22:12 字數 403 閱讀 8226

同一時間,只允許乙個事務請求同一資料,不同的事務之間彼此沒有任何干擾。比如a正在從一張銀行卡中取錢,在a取錢的過程結束前,b不能向這張卡轉賬。

不同的隔離級別:

read uncommitted(讀取未提交):最低的隔離級別,什麼都不需要做,乙個事務可以讀到另乙個事務未提交的結果。所有的併發事務問題都會發生。

read committed(讀取提交內容):只有在事務提交後,其更新結果才會被其他事務看見。可以解決髒讀問題。

repeated read(可重複讀):在乙個事務中,對於同乙份資料的讀取結果總是相同的,無論是否有其他事務對這份資料進行操作,以及這個事務是否提交。可以解決髒讀、不可重複讀。

serialization(可序列化):事務序列化執行,隔離級別最高,犧牲了系統的併發性。可以解決併發事務的所有問題。

資料庫的隔離級別

對於同時執行的多個事務,當這些事務訪問資料庫中相同的資料時,如果沒有採取必要的隔離機制,就會導致各種併發問題 髒讀 對於兩個事物 t1,t2,t1 讀取了已經被 t2 更新但還沒有被提交的字段.之後,若 t2 回滾,t1讀取的內容就是臨時且無效的.不可重複讀 對於兩個事物 t1,t2,t1 讀取了乙...

資料庫的隔離級別

資料庫的隔離級別 1.read uncommited 未提交讀 沒有提交就可以讀取到資料 發出了insert,但沒有commit就可以讀取到 2.read commited 提交讀 只有提交後才可以讀 3.repeatable read 可重複讀 mysql預設級別,必須提交才能看到,讀取資料是資料...

資料庫的隔離級別

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