併發操作會帶來資料的不一致性

2021-07-05 11:09:48 字數 496 閱讀 3802

髒讀:就是指當乙個事務對資料進行了修改但還沒有提交到資料庫時,另乙個事務訪問並使用了這個資料。

不可重複讀:在乙個事務內兩次讀資料之間,第二個事務訪問該資料並進行了修改。

丟失修改:兩個事務讀入同一資料並修改,t2提交的結果破壞了t1提交的結果。例如t1讀a修改為a-1,t2也讀a修改為a-1(實際上應該是讀a-1,修改

為a-2)

幻影讀:同一事務在兩個不同的時間段執行相同的查詢條件得到的結果不一致。

注意:不可重複讀的重點是修改  :

同樣的條件 ,   你讀取過的資料 ,   再次讀取出來發現值不一樣了 

幻讀的重點在於新增或者刪除

同樣的條件 ,   第 1 次和第 2 次讀出來的記錄數不一樣。

解決併發所帶來的資料不一致性

測試前提,linux伺服器 因為windows伺服器下 nginx php是fashcgi方式,預設是單程序單執行緒的,所有的併發請求都要排隊處理,所以在windows伺服器下測試時沒有任何效果的。這段 的邏輯很簡單,類似於商品庫存一樣,stock為庫存,count為購買數量,每購買一次 count...

併發操作與資料的不一致性

最近做的 選修課系統 需要考慮這樣乙個問題 資料庫的併發操作帶來的資料庫資料不一致問題 因為是全校性選修課,同一時間點大批學生選課,那麼必然存在多名學生同時對同一資料進行操作 是的問題,如果這種併發操作不加以控制的話,必會造成資料的不一致。一直知道有這種問題,並且知道這種問題的解決方法 加鎖 但是有...

併發操作與資料的不一致性

最近做的 選修課系統 需要考慮這樣乙個問題 資料庫的併發操作帶來的資料庫資料不一致問題 因為是全校性選修課,同一時間點大批學生選課,那麼必然存在多名學生同時對同一資料進行操作 是的問題,如果這種併發操作不加以控制的話,必會造成資料的不一致。一直知道有這種問題,並且知道這種問題的解決方法 加鎖 但是有...