首頁 > 常見問題 > 主體

並發操作可能會產生哪幾類資料不一致?

青灯夜游
發布: 2020-08-31 13:17:25
原創
22026 人瀏覽過

並發操作帶來的資料不一致性包括三類:遺失修改、無法重複讀取和讀取「髒」資料。避免不一致性的方法和技術就是並發控制,最常用的技術是封鎖技術;也可以用其他技術,例如在分散式資料庫系統中可以採用時間戳法來進行並發控制。

並發操作可能會產生哪幾類資料不一致?

並發操作帶來的資料不一致包含三類:遺失修改、無法重複讀取和讀取「髒」資料。

1、遺失修改(Lost Update)

#兩個交易T1和T2讀入相同資料並修改,T2提交的結果破壞了(覆蓋了)T1提交的結果,導致T1的修改被遺失。

2、不可重複讀取(Non -Repeatable Read)

#無法重複讀取是指事務T1讀取資料後,事務T2執行更新操作,使T1無法再現前一次讀取結果。

3、讀取「髒」資料(Dirty Read)

讀「髒」資料是指事務T1修改某一數據,並將其寫回磁碟,事務T2讀取同一數據後,T1因某種原因被撤銷,這時T1已修改過的數據恢復原值,T2讀到的數據就與數據庫中的數據不一致,則T2讀到的數據就為「髒」數據,即不正確的數據。

用什麼方法能避免各種不一致的情況?

避免不一致性的方法和技術就是並發控制,最常用的技術是封鎖技術;也可以用其他技術,例如在分散式資料庫系統中可以採用時間戳法來進行並發控制。

更多相關知識,請造訪:PHP中文網

以上是並發操作可能會產生哪幾類資料不一致?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板