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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 创建数据库 » 使用事务和隔离级别 » 事务阻塞和死锁 » 事务阻塞

 

blocking 选项

如果两个事务在同一行上分别获取了读锁定,当其中一个事务尝试修改该行时,所发生的情况将取决于 blocking 选项的设置。要修改这一行,该事务必须阻塞另一个事务,但由于另一个事务阻塞它,因此无法实现。

  • 如果 blocking 选项被设置为 On(缺省设置),则尝试写入的事务将等到另一个事务释放其读锁定。那时,即可进行写入。

  • 如果 blocking 选项被设置为 Off,则尝试写入的语句将收到一个错误。

当 blocking 选项被设置为 Off 时,该语句将终止而不会等待,而它所做的任何部分更改都将被回退。在这种情况下,请稍后再尝试执行该事务。

隔离级别越高,越容易出现阻塞,因为执行的锁定和检查更多。通常,隔离级别越高,并发性越低。并发性降低的程度取决于各个并发事务的特性。

有关 blocking 选项的详细信息,请参见blocking 选项 [数据库]