如果两个事务在同一行上分别获取了读锁定,当其中一个事务尝试修改该行时,所发生的情况将取决于 blocking 选项的设置。要修改这一行,该事务必须阻塞另一个事务,但由于另一个事务阻塞它,因此无法实现。
如果 blocking 选项被设置为 On(缺省设置),则尝试写入的事务将等到另一个事务释放其读锁定。那时,即可进行写入。
如果 blocking 选项被设置为 Off,则尝试写入的语句将收到一个错误。
当 blocking 选项被设置为 Off 时,该语句将终止而不会等待,而它所做的任何部分更改都将被回退。在这种情况下,请稍后再尝试执行该事务。
隔离级别越高,越容易出现阻塞,因为执行的锁定和检查更多。通常,隔离级别越高,并发性越低。并发性降低的程度取决于各个并发事务的特性。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |