并发操作可能会产生哪几类数据不一致?

并发操作带来的数据一致性包括三:丢失修改、不可重复读和读“脏”数据。避免不一致性的方法和技术就是并发控制,最常用的技术是封锁技术;也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。

并发操作带来的数2 9 # 1 |据不一致性包括三:丢失修改、不可重复读和读“脏”数据。

1、丢失修改(G / T 5 R , HLost Update)

两个事务T1和@ k - ZT2读入0 J 3 Y D N Y x同一数据并修改,T2提交的结果破坏了(T O l e $覆盖了)T1提交的结果,导U - 6 b $ =致T1的修改被丢失。

2、不可重复读(Non -Repeatable Read)

不可重复读是指事& | X 6 u 0 I =务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。

3、读“脏”数据(Diu g G erty Read[ Q ? e)

读“脏”数据是8 ^ F ( Z )o m + t Q = D 8 Y事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢1 w # N X ~ g ; 0复原值,T2读到的数据就与数据库中的数据不一致,则a ] l ( v - %T2读到的数据就为} 4“脏”数据,即不正确的数据。

用什么方法能避免各种不: S s Z一致的情况?

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

更多相关知识,请访问:PHP中文网!

以上就是l } % s V并发操作可能会产生哪几数据不一致?的详细内容。] R E s