在并发环境下,事务间的隔离性很难保证,因此会出现并发一致性问题。
并发一致性问题主要有四类,即:丢失修改问题,读脏数据问题,不可重复读问题,幻影读问题。
①丢失修改问题:T1和T2两个事务都对同一数据进行修改,T1先修改,T2随后修改,T2的修改覆盖了T1的修改。
②读脏数据问题:T1修改了一个数据,T2随后读取了这个数据,但是T1又撤销了修改,此时T2读取到的数据就是脏数据。
③不可重复读问题:T1读取了一个数据,T2随后修改了这个数据,T1再次读取这个数据时与之前读取的值不同。
④幻影读问题:T1读取一个范围内的数据,T2随后对这个范围内的一个数据进行了修改,T1再次读取这个范围内的数据时,和第一次读的结果不同。
事务间出现并发一致性问题是因为并发破坏了并发事务的隔离性。可以通过并发控制来实现并发事务间的隔离。并发控制可以通过*来实现。数据库管理系统提供了事务的隔离级别来解决并发一致性问题。