有三种典型的不一致类型在执行并发事务的过程中可能会出现。这个列表并不完整,还可能会出现其它类型的不一致。ISO SQL/2008 标准中提到了这三种类型,而且,较低隔离级别的行为是使用这些类型定义的,因此它们非常重要。
脏读 事务 A 修改了一行,但未提交或回退所做更改。事务 B 读取了被修改的行。之后,事务 A 在执行 COMMIT 之前又对该行进行了更改,或回退了所做更改。这两种情况下,事务 B 读取到该行时,该行都处于从未被提交的状态。
有关脏读的详细信息,请参见教程:脏读。
非可重复的读取 事务 A 读取了一行。之后,事务 B 修改或删除了该行,并执行了 COMMIT 命令。事务 A 之后再次尝试读取同一行时,该行将已被更改或删除。
有关非可重复读取的详细信息,请参见教程:非可重复读取。
幻像行 事务 A 读取了一组满足某个条件的行。之后,事务 B 执行 INSERT 命令,或对以前不满足 A 的条件的一行执行 UPDATE 命令。事务 B 提交了这些更改。这些新提交的行现在满足事务 A 的条件。如果事务 A 之后重复读取操作,则它将获得更新的行集。
有关幻像行的详细信息,请参见教程:幻像行。
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |