事務特性(4種):
原子性 (atomicity):強調事務的不可分割.
一致性 (consistency):事務的執行的前後資料的完整性保持一致.
隔離性 (isolation):乙個事務執行的過程中,不應該受到其他事務的干擾
永續性(durability) :事務一旦結束,資料就持久到資料庫
事務的隔離級別:
default 這是乙個platfromtransactionmanager預設的隔離級別,使用資料庫預設的事務隔離級別.
未提交讀(read uncommited) :髒讀,不可重複讀,虛讀都有可能發生
已提交讀 (read commited):避免髒讀。但是不可重複讀和虛讀有可能發生
可重複讀 (repeatable read) :避免髒讀和不可重複讀.但是虛讀有可能發生.
序列化的 (serializable) :避免以上所有讀問題.
常見資料庫的預設隔離級別:
mysql 預設:可重複讀
oracle 預設:讀已提交
事務的傳播行為
同乙個事務中
propagation_required 支援當前事務,如果不存在 就新建乙個(預設)
propagation_supports 支援當前事務,如果不存在,就不使用事務
propagation_mandatory 支援當前事務,如果不存在,丟擲異常
沒有在同乙個事務中
propagation_requires_new 如果有事務存在,掛起當前事務,建立乙個新的事務
propagation_not_supported 以非事務方式執行,如果有事務存在,掛起當前事務
propagation_never 以非事務方式執行,如果有事務存在,丟擲異常
propagation_nested 如果當前事務存在,則巢狀事務執行
MYSQL資料庫事務4種隔離級別及7種傳播行為
原子性 事務的不可分割,組成事務的各個邏輯單元不可分割。一致性 事務執行的前後,資料完整性保持一致。隔離性 事務執行不應該受到其他事務的干擾。永續性 事務一旦結束,資料就持久化到資料庫中。檢視 select tx isolation 設定 set tx isolation 如果不考慮隔離性,引發一些...
spring事務 5種隔離級別和7種傳播行為
事務的隔離性就是指,多個併發的事務同時訪問乙個資料庫時,乙個事務不應該被另乙個事務所干擾,每個併發的事務之間要相互進行隔離。在實際開發過程中,我們絕大部分的事務都是有併發情況。多個事務併發執行,經常會操作相同的資料來完成各自的任務。在這種情況下可能會導致以下的問題 隔離級別定義了乙個事務可能受其他併...
MySQL事務的4種特性以及事務隔離級別
事務的基本特性 1 原子性 atomicity 事務開始後所有操作,要麼全部做完,要麼全部不做,不可能停滯在中間環節。事務執行過程中出錯,會回滾到事務開始前的狀態,所有的操作就像沒有發生一樣。也就是說事務是乙個不可分割的整體,就像化學中學過的原子,是物質構成的基本單位。2 一致性 consisten...