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塊,這就是幻讀,站在開發者的角度,數據的 一致性並沒有破壞。但是在應用程序中,是不可取的,就要采取事務隔離級別“串行化”
轉自:https://www.cnblogs.com/qingyundian/p/8613637.html