事務的隔離級別 (關係型資料庫)

2022-07-17 06:12:08 字數 820 閱讀 5926

一、事務具有以下acid特性:

原子性(atomictiy):原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成功就必須要全部應用到資料庫,如果操作失敗則不能對資料庫有影響。

一致性(consistency):一致性是指事務必須使資料庫從乙個一致性狀態變換到另乙個一致性狀態,也就是說乙個事務執行之前和執行之後都必須處於一致性狀態。

隔離性(isalation):當多個使用者併發訪問資料庫時,比如操作同一張表時,資料庫為每乙個使用者開啟的事務,不能被其他的事務的操作所干擾,多個併發事務之間要相互隔離。

永續性(durability):是指乙個事務一旦被提交了,那麼對資料庫中的資料的改變是永久的,即便是在資料庫系統遇到故障的情況下也不會丟失提交事務的操作。

二、不考慮事務隔離級別,會出現什麼問題?

1.髒讀:是指乙個事務處理過程中讀取了另乙個未提交的事務中的資料。

2.不可重複讀:是指在對於資料庫中的某個資料,乙個事務範圍內多次查詢卻返回了不同的資料值,這是由於在查詢間隔,被另乙個事務修改並提交了。

3.幻讀:是事務非獨立執行時發生的一種現象。

三、四種隔離級別說明

1.序列化(serializable):可避免髒讀,不可重複讀,幻讀的發生。(最高端別,執行效率越低)

2.可重複讀(repeatable read):可避免髒讀,不可重複讀的發生。(mysql預設隔離級別)

3.讀已提交(read committed):可避免髒讀的發生。(讀已提交)

4.讀未提交(read uncommitted):最低級別,任何情況都無法保證。

***敲重點,必須得記會。記住,別人幫你,你就得努力啊~

關聯式資料庫事務隔離級別

關聯式資料庫的四個事務隔離級別,從最低到最高如下 1 未提交讀 會發生髒讀 乙個事務a訪問一條資料並修改了它,但尚未提交時,另乙個事務b讀取了這條資料。這時如果事務a回滾,則出現讀髒資料的情況。2 讀提交 會發生不可重複讀 即同一事務內,多次讀同一資料。重點是修改 同樣的條件,你讀取過的資料,再次讀...

關聯式資料庫事務隔離級別

關聯式資料庫的四個事務隔離級別,從最低到最高如下 1 未提交讀 會發生髒讀 乙個事務a訪問一條資料並修改了它,但尚未提交時,另乙個事務b讀取了這條資料。這時如果事務a回滾,則出現讀髒資料的情況。2 讀提交 會發生不可重複讀 即同一事務內,多次讀同一資料。重點是修改 同樣的條件,你讀取過的資料,再次讀...

資料庫事務隔離級別

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