并发操作可能会产生哪几类数据不一致?
并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復讀和讀“臟”數(shù)據(jù)。避免不一致性的方法和技術就是并發(fā)控制,最常用的技術是封鎖技術;也可以用其他技術,例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進行并發(fā)控制。
并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復讀和讀“臟”數(shù)據(jù)。
1、丟失修改(Lost Update)
兩個事務T1和T2讀入同一數(shù)據(jù)并修改,T2提交的結果破壞了(覆蓋了)T1提交的結果,導致T1的修改被丟失。
2、不可重復讀(Non -Repeatable Read)
不可重復讀是指事務T1讀取數(shù)據(jù)后,事務T2執(zhí)行更新操作,使T1無法再現(xiàn)前一次讀取結果。
3、讀“臟”數(shù)據(jù)(Dirty Read)
讀“臟”數(shù)據(jù)是指事務T1修改某一數(shù)據(jù),并將其寫回磁盤,事務T2讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷,這時T1已修改過的數(shù)據(jù)恢復原值,T2讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。
用什么方法能避免各種不一致的情況?
避免不一致性的方法和技術就是并發(fā)控制,最常用的技術是封鎖技術;也可以用其他技術,例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進行并發(fā)控制。
更多相關知識,請訪問:PHP中文網(wǎng)!
總結
以上是生活随笔為你收集整理的并发操作可能会产生哪几类数据不一致?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑主板电池多少伏
- 下一篇: SEO标题怎么写可以让搜索引擎快速识别