資料庫事務的特性和隔離級別

2021-08-16 17:04:09 字數 843 閱讀 4990

acid的事務特性

原子性(atomicity)、一致性(consistency)、隔離性(isolation)、永續性(durability

原子性就是要麼成功要麼失敗。

一致性就是比如存款總額不變。從乙個一致性狀態轉移到另乙個一致性狀態。

事務之間不可以相互影響。事務在提交之前是不被其他事務可見的。

事務完成後持久儲存在磁碟的資料庫中。

髒讀:讀取過期失效的資料。

不可重複讀:乙個事務範圍內兩個相同的查詢卻返回了不同資料。

幻讀:解決了不重複讀,保證了同乙個事務裡,查詢的結果都是事務開始時的狀態(一致性)。但是,如果另乙個事務同時提交了新資料,本事務再

更新時,就會「驚奇的」發現了這些新資料,貌似之前讀到的資料是「鬼影」一樣的幻覺。

四種隔離級別

未提交讀:它充許令外乙個事務可以看到這個事務未提交的資料。會出現三個問題:髒讀,不可重複讀,幻讀。

提交讀即不可重複讀?保證乙個事務修改的資料提交後才能被另外乙個事務讀取。另外乙個事務不能讀取該事務未提交的資料。

解決了髒讀。大部分資料庫預設的級別。

可重複讀

它確保同一事務的多個例項在併發讀取資料時,會看到同樣的資料行。

解決了不可重複讀。

mysql預設的級別。

可序列化(序列化):它通過強制事務排序,使之不可能相互衝突,從而解決幻讀問題。簡言之,它是在每個讀的資料行上加上共享鎖。

解決了幻讀。代價最高,最可靠。讀操作會隱式獲取共享鎖,可以保證不同事務間的互斥。

七種傳播行為。。。。

資料庫事務特性和隔離級別

一 事務的基本要素 acid 1 原子性 atomicity 事務開始後所有操作,要麼全部做完,要麼全部不做,不可能停滯在中間環節。事務執行過程中出錯,會回滾到事務開始前的狀態,所有的操作就像沒有發生一樣。也就是說事務是乙個不可分割的整體,就像化學中學過的原子,是物質構成的基本單位。2 一致性 co...

資料庫事務特性和隔離級別

資料庫事務是資料庫管理系統執行過程中的乙個邏輯單位,有乙個有限的資料庫操作序列完成。以 a賬戶向b賬戶匯錢 為例,乙個事務是下面乙個操作序列 a.從a賬號中把餘額讀出來。b.對a賬號做減法操作。c.把結果寫回a賬號中。d.從b賬號中把餘額讀出來。e.對b賬號做加法操作。f.把結果寫回b賬號中。事務有...

資料庫事務特性和隔離級別

一組業務操作,要麼全部成功,要麼全部不成功。原子性 乙個事務是乙個整體,不可分割,事務中的操作要麼都成功,要麼都失敗。一致性 事務必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。事務執行前後,資料庫的狀態是一致的。例如 a有1000,元,b有1000元,加起來是2000,中間執行轉賬的操作,轉賬...