因为多个事务对数据库的并发控制造成ACID特性被破坏,为保证数据的隔离性和一致性,需要并发控制。
 
一、多事务并发导致的问题
1.丢失修改(Lost Update,READ UNCOMMITED)
   T1              T2
   R(A)=16
                 R(A)=16
   W(A)=A-1
                 W(A)=A-1
   T1的修改丢失。
2.不可重复读(Non-Repeatable Read)
   2.1T1读取数据,T2修改了数据,当T1再次读取刚才的数据发现前后不一致。
   2.2T1读取数据,T2删除数据,T1按照相同条件重新读取数据,发现数据消失3
   2.3T1读取数据,T2插入数据,T1按照相同条件重新读取数据,发现增加了数据。
   2.2和2.3被称为幻影现象(SERIALIZABLE)。
3.读脏数据(Dirty Read)
T1修改数据并写回磁盘,T2读取数据,T1由于某种原因被撤销,这时T1已经恢复为原值,T2读取的数据和数据库中的数据不一致。
 
二、并发技术
数据库基础——并发控制
原文:http://www.cnblogs.com/bluewhy/p/4962919.html