資料庫事務並髮帶來的問題

來源:互聯網
上載者:User

資料庫事務並髮帶來的問題有:更新丟失、髒讀、不可重複讀取、幻象讀。假設張三辦了一張招商銀行卡,餘額100元,分別說明上述情況。

1、更新丟失:一個事務的更新覆蓋了另一個事務的更新。事務A:向銀行卡存錢100元。事務B:向銀行卡存錢200元。A和B同時讀到銀行卡的餘額,分別更新喻額,後提交的事務B覆蓋了事務A的更新。更新丟失本質上是寫操作的衝突,解決辦法是一個一個地寫。

2、髒讀:一個事務讀取了另一個事務未提交的資料。事務A:張三妻子給張三轉賬100元。事務B:張三查詢餘額。事務A轉賬後(還未提交),事務B查詢多了100元。事務A由於某種問題,比如逾時,進行復原。事務B查詢到的資料是假資料。髒讀本質上是讀寫操作的衝突,解決辦法是寫完之後再讀。

3、不可重複讀取:一個事務兩次讀取同一個資料,兩次讀取的資料不一致。事務A:張三妻子給張三轉賬100元。事務B:張三兩次查詢餘額。事務B第一次查詢餘額,事務A還沒有轉賬,第二次查詢餘額,事務A已經轉賬了,導致一個事務中,兩次讀取同一個資料,讀取的資料不一致。不可重複讀取本質上是讀寫操作的衝突,解決辦法是讀完再寫。

4、幻象讀:一個事務兩次讀取一個範圍的記錄,兩次讀取的記錄數不一致。事務A:張三妻子兩次查詢張三有幾張銀行卡。事務B:張三新辦一張銀行卡。事務A第一次查詢銀行卡數的時候,張三還沒有新辦銀行卡,第二次查詢銀行卡數的時候,張三已經新辦了一張銀行卡,導致兩次讀取的銀行卡數不一樣。幻象讀本質上是讀寫操作的衝突,解決辦法是讀完再寫。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.