并发操作可能会产生哪几类数据不一致?
生活随笔
收集整理的這篇文章主要介紹了
并发操作可能会产生哪几类数据不一致?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
并發操作帶來的數據不一致性包括三類:丟失修改、不可重復讀和讀“臟”數據。避免不一致性的方法和技術就是并發控制,最常用的技術是封鎖技術;也可以用其他技術,例如在分布式數據庫系統中可以采用時間戳方法來進行并發控制。
并發操作帶來的數據不一致性包括三類:丟失修改、不可重復讀和讀“臟”數據。
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中文網!
總結
以上是生活随笔為你收集整理的并发操作可能会产生哪几类数据不一致?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑主板电池多少伏
- 下一篇: SEO标题怎么写可以让搜索引擎快速识别