Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - SQL 的用法 » 事务和隔离级别 » 隔离级别和一致性 » 快照隔离

 

更新冲突和快照隔离

使用快照隔离时,如果事务查看行的旧版本并尝试更新或删除它,则可能发生更新冲突。发生这种情况时,服务器会在检测到冲突时给出错误。对于已提交的更改,服务器在尝试更新或删除时返回错误。对于未提交的更改,在更改提交时,更新或删除会阻塞并且服务器会返回错误。

使用只读语句快照时不会发生更新冲突,因为可更新语句以非快照隔离方式运行,并且总是看到数据库的最新版本。因此,只读语句快照隔离级别具有快照隔离的许多优点,且无需对最初设计为在其它隔离级别上运行的应用程序做很大改动。使用只读语句快照隔离级别时:

  • 只读语句从不获取读锁定

  • 只读语句总是查看数据库的已提交状态