You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当READ_COMMITTED_SNAPSHOT启用时,是否存在等效READCOMMITTEDLOCK的事务隔离级别?

READ_COMMITTED_SNAPSHOT启用后,是否存在等效于READCOMMITTEDLOCK的事务隔离级别?

没有直接对应的事务隔离级别。

当数据库开启READ_COMMITTED_SNAPSHOT(RCSI)选项后,默认的SET TRANSACTION ISOLATION LEVEL READ COMMITTED会采用行版本控制读取快照数据,不再对读取的行加共享锁。如果需要还原到RCSI禁用时的READ COMMITTED行为——也就是读取时加共享锁、语句执行完毕后释放锁,同时避免脏读——只能通过在查询语句中使用READCOMMITTEDLOCK表提示实现,例如:

SELECT * FROM YourTable WITH (READCOMMITTEDLOCK);

其他事务隔离级别都无法完全匹配原READ COMMITTED的锁行为:

  • REPEATABLE READ会保持共享锁直到事务结束,而非语句执行完毕后释放,隔离级别更高;
  • SERIALIZABLE则会加范围锁,进一步提升隔离性;
  • SNAPSHOT或READ COMMITTED SNAPSHOT本身基于行版本控制,不会加锁。

内容的提问来源于stack exchange,提问作者J. Mini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:29:55