事務併發帶來的問題

2021-10-23 07:16:41 字數 433 閱讀 3424

髒讀

事務a對某個資料進行修改,但是還沒提交到資料庫中;此時事務b對這個資料進行訪問,我們把b事務訪問到的這個未提交的資料稱為「髒資料」。事務b的這種行為稱為「髒讀」。

丟失修改

事務a和事務b同時對某乙個資料進行訪問,且此時a修改了資料如a=a-1,b同時也對a進行修改,a=a+1,此時a的修改結果將會被丟失。這種情況稱為「丟失修改」。

不可重複讀

事務a執行期間對某乙個資料進行多次讀取,另乙個事務b對此資料進行了修改,導致事務a多次讀取的結果不一致。這種情況稱為不了重複讀。

幻讀

事務a讀取了表裡幾行記錄,後事務b又插入了幾行記錄,當事務a再次讀取時發現多了幾行資料,就好像發生了幻覺,這種情況稱為「幻讀」。

Mysql關於事務併發帶來的問題

mysql從5.5.8開始,innodb就是預設的儲存引擎,innodb最大的特點是 支援事務 支援行級鎖。既然支援事務,那麼就會有處理併發事務帶來的問題 更新丟失 髒讀 不可重複讀 幻讀 相應的為了解決這四個問題,就產生了事務隔離級別 未提交讀 read uncommitted 已提交讀 read...

MySQL 事務併發帶來的問題與事務隔離機制

一 前言 mysql從5.5.8開始,innodb就是預設的儲存引擎,innodb最大的特點是 支援事務 支援行級鎖。既然支援事務,那麼就會有處理併發事務帶來的問題 更新丟失 髒讀 不可重複讀 幻讀。相應的為了解決這四個問題,就產生了事務隔離級別 讀未提交 read uncommitted 讀已提交...

資料庫事務併發帶來的問題 及並行

併發與並行的區別 併發 當有多個執行緒在操作時 如果系統只有乙個cpu 則它根本不可能真正同時進行乙個以上的執行緒,它只能 把cpu執行時間劃分成若干個時間段,再將時間段分配給各個執行緒執行,在乙個時間段的執行緒 執行時,其它執行緒處於掛起狀。這種方式我們稱之為併發 concurrent 並行 當系...