SpringBoot 事務隔離性和傳播性

2022-05-08 23:24:08 字數 438 閱讀 3471

spring中七種propagation類的事務屬性詳解:

宣告式事務的第二個方面是隔離級別。隔離級別定義乙個事務可能受其他併發事務活動活動影響的程度。另一種考慮乙個事務的隔離級別的方式,是把它想象為那個事務對於事物處理資料的自私程度。

在乙個典型的應用程式中,多個事務同時執行,經常會為了完成他們的工作而操作同乙個資料。併發雖然是必需的,但是會導致一下問題:

在理想狀態下,事務之間將完全隔離,從而可以防止這些問題發生。然而,完全隔離會影響效能,因為隔離經常牽扯到鎖定在資料庫中的記錄(而且有時是鎖定完整的資料表)。侵占性的鎖定會阻礙併發,要求事務相互等待來完成工作。**

考慮到完全隔離會影響效能,而且並不是所有應用程式都要求完全隔離,所以有時可以在事務隔離方面靈活處理。因此,就會有好幾個隔離級別:

事務隔離性

事務a 讀取事務b更新的資料,然後事務b回滾,那麼a讀取到的資料就是髒資料 情景展示 1.會話b 可提交讀 set session transaction isolation level read uncommitted begin update account set balance balanc...

事務的隔離性

例如 統計定單系統中事務活動 如下 1.事務t1列印定單表中的記錄 2.t2向定單表插入了新的定單,t2提交 3.事務t1統計定單表中的的記錄總數,t1提交 因為事務t2在t1結束前向定單表中插入了新的記錄,導致事務t1列印的定單記錄數量和t1統計的定單數量不一致.產生併發異常問題的主要原因是併發操...

Mysql 事務隔離性

事務併發所引起的跟讀取資料有關的問題,各用一句話來描述一下 1.髒讀 事務 a 讀取了事務 b 未提交的資料,並在這個基礎上又做了其他操作。讀取未提交 2.不可重複讀 事務 a 讀取了事務 b 已提交的更改資料。讀取新提交update 3.幻讀 事務 a 受到事務 b 已提交的新增資料影響。看不到已...