GBase 8s SQL 指南:教程 / 对多用户环境编程 |
此特性允许您避免 Repeatable Read 隔离级别的开销或暂时避开诸如行上的假更新。当打开 RETAIN UPDATE LOCKS 特性,且在 SELECT...FOR UPDATE 语句的访存期间在行上隐式地放置更新锁时,直到事务的结束,才释放更新锁。使用 RETAIN UPDATE LOCKS 特性,仅保持更新锁,直到事务的结束为止,而 Repeatable Read 隔离级别同时保持更新锁和共享锁,直到会话的结束为止。
SET ISOLATION TO COMMITTED READ RETAIN UPDATE LOCKS
要关闭 RETAIN UPDATE LOCKS 特性,请不要使用 RETAIN UPDATE LOCKS 子句来设置隔离级别。当您关闭该特性时,未直接地释放更新锁。然而,从此时起,后续的访存释放紧前的访存的更新锁,而不是更早的访存操作的更新锁。关闭的游标释放当前行上的更新锁。
要获取关于当您指定隔离级别时,如何使用 RETAIN UPDATE LOCKS 特性的更多信息,请参阅 GBase 8s SQL 指南:语法。