MySQL事務隔離級別 解決併發問題

2022-06-01 13:48:11 字數 798 閱讀 8391

mysql事務隔離級別

1. 髒讀: 騙錢的手段, 兩個視窗或執行緒分別呼叫資料庫轉賬表,轉賬後未提交,對方檢視到賬後,rollback,實際錢沒轉.

演示方法:

mysql預設的事務隔離級別為repeatable-read 比oracle高,因為mysql本身弱

使用select @@tx_isolation; 進行檢視

使用

調整到最低級別

使用 start transaction; 開啟事務 rollback; 回滾

2. 不可重複讀: 事務 a 多次讀取同一資料,事務 b 在事務a多次讀取的過程中,對資料作了更新並提交,導致事務a多次讀取同一資料時,結果 不一致。

3.在客戶端a計算表中money之和,三個資料值和本應為為300+16000+2400=18700,可計算後,居然變成了19300,這是因為把客戶端b的600算進去了

,站在客戶的角度,客戶是看不到客戶端b的,它會覺得是天下掉餡餅了,多了600塊,這就是幻讀,站在開發者的角度,資料的 一致性並沒有破壞。但是在應用程式中,是不可取的,就要採取事務隔離級別「序列化」

事務併發 事務隔離級別

併發問題可歸納為以下幾類 a.丟失更新 撤銷乙個事務時,把其他事務已提交的更新資料覆蓋 a和b事務併發執行,a事務執行更新後,提交 b事務在a事務更新後,b事務結束前也做了對該行資料的更新操作,然後回滾,則兩次更新操作都丟失了 b.髒讀 乙個事務讀到另乙個事務未提交的更新資料 a和b事務併發執行,b...

事務併發 事務隔離級別

併發問題可歸納為以下幾類 a.丟失更新 撤銷乙個事務時,把其他事務已提交的更新資料覆蓋 a和 b事務併發執行,a事務執行更新後,提交 b事務在 a事務更新後,b事務結束前也做了對該行資料的更新操作,然後回滾,則兩次更新操作都丟失了 b.髒讀 乙個事務讀到另乙個事務未提交的更新資料 a和 b事務併發執...

Mysql的ACID 事務併發 事務隔離級別

目錄 一 事務的基本要素 acid a atomicity,即原子性 c consistency,即一致性 i isolation,即隔離性 d durability,即永續性 二 事務的併發問題 1.髒讀 2.不可重複讀 3.幻讀 三 mysql的事務隔離級別 事務開始後的所有操作,要麼全部完成,...