不同的隔离级别可能适合于一个事务的不同部分。SQL Anywhere 支持在事务中间更改数据库的隔离级别。
如果在事务中间更改了 isolation_level 选项,新设置只会影响以下对象:
任何在更改后打开的游标
任何在更改后执行的语句
您可能希望在事务处理过程中更改隔离级别,以控制事务放置的锁数量。有的事务可能需要读取一个大型表,但却仅对其中少数几行执行具体的操作。如果不一致对该事务不会产生严重影响,则可以在扫描该大型表时设置较低的隔离级别,以避免延迟其它事务的操作。
在其它一些情况下,您也可能希望在事务中间更改隔离级别,例如,在只有一个表或一组表需要序列化访问时。
有关在事务中间更改隔离级别的示例,请参见教程:了解幻像行。
您也可以使用表提示设置隔离级别(仅限于级别 0-3),但是这是一个高级功能,只应在需要时使用它。有关详细信息,请参见FROM 子句中的 WITH table-hint 一节。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |