有三种典型的不一致类型在执行并发事务的过程中可能会出现。这个列表并不完整,还可能会出现其它类型的不一致。这三种类型在 ISO SQL/2008 标准中有所提及,并依据能够在较低隔离级别上发生的行为进行定义。
脏读 事务 A 修改了一行,但未提交或回退所做更改。事务 B 读取了被修改的行。之后,事务 A 在执行 COMMIT 之前又对该行进行了更改,或回退了所做更改。这两种情况下,事务 B 读取到该行时,该行都处于从未被提交的状态。
非可重复的读取 事务 A 读取了一行。之后,事务 B 修改或删除了该行,并执行了 COMMIT 命令。事务 A 之后再次尝试读取同一行时,该行将被更改或删除。
幻像行 事务 A 读取了一组满足某个条件的行。之后,事务 B 执行 INSERT 命令,或对以前不满足 A 的条件的一行执行 UPDATE 命令。事务 B 提交了这些更改。这些新提交的行现在满足事务 A 的条件。如果事务 A 之后重复读取操作,则它将获得更新的行集。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |