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

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 使用事务和隔离级别 » 隔离级别和一致性 » 从支持 ODBC 的应用程序设置隔离级别

 

在事务内更改隔离级别

不同的隔离级别可能适合于一个事务的不同部分。SQL Anywhere 支持在事务中间更改数据库的隔离级别。

如果在事务中间更改了 isolation_level 选项,新设置只会影响以下对象:

  • 任何在更改后打开的游标

  • 任何在更改后执行的语句

您可能希望在事务处理过程中更改隔离级别,以控制事务放置的锁数量。有的事务可能需要读取一个大型表,但却仅对其中少数几行执行具体的操作。如果不一致对该事务不会产生严重影响,则可以在扫描该大型表时设置较低的隔离级别,以避免延迟其它事务的操作。

在其它一些情况下,您也可能希望在事务中间更改隔离级别,例如,在只有一个表或一组表需要序列化访问时。

有关在事务中间更改隔离级别的示例,请参见教程:幻像行

注意

您也可以使用表提示设置隔离级别(仅限于级别 0-3),但是这是一个高级功能,只应在需要时使用它。有关详细信息,请参见FROM 子句中的 WITH table-hint 一节。

 使用快照隔离时更改隔离级别