【spring企業開發實戰】事務並發會遇到的幾個問題,spring實戰

來源:互聯網
上載者:User

【spring企業開發實戰】事務並發會遇到的幾個問題,spring實戰

一、事務並發會遇到的幾個問題:

    1)髒讀 :兩個事務同時操作同一資料,A事務對該資料進行了修改還沒提交的時候,B事務訪問了該條事務,並且使用了該資料,此時A交易回復,那麼B事務讀到的就是髒資料。

      比如事務1,修改了某個資料              事務2,剛好訪問了事務1修改後的資料

      此時事務1,復原了操作                    事務2,讀到還是復原前的資料

    2) 不可重複讀取 :這種情況發生 在一個事務內多次讀同一資料。A事務查詢某條資料,該事務未結束時,B事務也訪問同一資料並進行了修改。那麼在A事務中的兩 次讀資料之間,由於第二個事務的修改,那麼第一個事務兩次讀到的的資料可能是不一樣的。

    事務1,查詢某個資料                   事務2,修改了某個資料,提交

    事務1,重新查詢這個資料

    這樣事務1兩次查詢的資料不一樣,稱為不可重複讀取

  3)幻讀 : 事務A在操作一堆資料的時候,事務B插入了一條資料,A事務重新查詢,發現多了一條資料,像是幻覺。與不可重複讀取類似,不同的是一個是修改,一個是新增或者刪除。

Notice:在oracle中不會出現髒讀的情況,為了防止讀到更改資料(不可重複讀取),只需要對操作的資料加上“行級鎖”,為了防止讀取到新增資料( 幻讀),必須加上“表級鎖”,將整張表鎖定!!!

 4)第一類丟失更新 :A,B 事務同時操作同一資料,A先對改資料進行了更改,B再次更改時失敗然後復原,把B更新的資料也復原了。(事務撤銷造成的撤銷丟失)

 

   5)第二類丟失更新:A,B 事務同時操作同一資料,A先對改資料進行了更改,B再次更改並且提交,把B提交的資料給覆蓋了。(事務提交造成的覆蓋丟失)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.