併發操作導致資料庫不一致性

2021-07-05 06:23:37 字數 711 閱讀 2348

主要是一致性問題.常見併發併發一致性問題包括:丟失的修改、不可重複讀、讀髒資料、幻影讀(幻影讀在一些資料中往往與不可重複讀歸為一類).答案補充   不可重複讀是指事務t1讀取資料後,事務t2執行更新操作,使t1無法再現前一次讀取結果.具體地講,不可重複讀包括三種情況:

事務t1讀取某一資料後,事務t2對其做了修改,當事務1再次讀該資料時,得到與前一次不同的值.例如,t1讀取b=100進行運算,t2讀取同一資料b,對其進行修改後將b=200寫回資料庫.t1為了對讀取值校對重讀b,b已為200,與第一次讀取值不一致.

事務t1按一定條件從資料庫中讀取了某些資料記錄後,事務t2刪除了其中部分記錄,當t1再次按相同條件讀取資料時,發現某些記錄神密地消失了.

事務t1按一定條件從資料庫中讀取某些資料記錄後,事務t2插入了一些記錄,當t1再次按相同條件讀取資料時,發現多了一些記錄.(這也叫做幻影讀) 答案補充   讀"髒"資料是指事務t1修改某一資料,並將其寫回磁碟,事務t2讀取同一資料後,t1由於某種原因被撤消,這時t1已修改過的資料恢復原值,t2讀到的資料就與資料庫中的資料不一致,則t2讀到的資料就為"髒"資料,即不正確的資料.

產生上述三類資料不一致性的主要原因是併發操作破壞了事務的隔離性.併發控制就是要用正確的方式排程併發操作,使乙個使用者事務的執行不受其它事務的干擾,從而避免造成資料的不一致性.答案補充 兩個事務t1和t2讀入同一資料並修改,t2提交的結果破壞了t1提交的結果,導致t1的修改被丟失,即丟失的修改.

資料庫 資料不一致性

3種資料不一致性 1 丟失修改 lost update 兩個事務t1和t2讀入同一資料並修改,t2提交結果破壞了t1提交的結果,到這t1的修改被丟失。2 不可重複讀 non repeatable read 不可重複讀是指事務t1讀取資料後,事務t2執行修改操作,使t1無法再現前一次讀取的結果 3 讀...

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

事務是併發控制的基本單位,保證事務的acid特性是事務處理的重要任務,而事務acid特性可能遭到破壞的原因之一就是多個事務對資料庫的併發操作造成的。併發操作帶來的資料不一致性重要有丟失修改,不可重複讀,讀 髒 資料。兩個事務t1和t2讀入同乙個資料並修改,t2提交的結果破壞了t1提交的結果,導致了t...

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

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