并发操作会带来哪些数据不一致性

问题:
并发操作会带来哪些数据不一致性(D )。
A 丢失修改、不可重复读、脏读、死锁
B 不可重复读、脏读、死锁
C 丢失修改、脏读、死锁 D
丢失修改、不可重复读、脏读

并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。
(l)丢失修改(lostupdate)两个事务Tl和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)Tl提交的结果,导致Tl的修改被丢失。
(2)不可重复读(Non一RepeatableRead)不可重复读是指事务Tl读取数据后,事务几执行更新操作,使Tl无法再现前一次读取结果。
(3)读“脏”数据(DirtyRead)读“脏’夕数据是指事务Tl修改某一数据,并将其写回磁盘,事务几读取同一数据后,Tl由于某种原因被撤销,这时Tl已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。

避免不一致性的方法和技术就是并发控制。最常用的技术是*技术。
也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。

上一篇:阿里P8 iOS程序员——浅谈程序员的 "青春饭"


下一篇:多线程-ThreadLocal的使用