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

无事务执行select for share是否等同于无锁?

关于SELECT FOR SHARE在自动提交模式下的锁行为

是的,这种情况大致等同于无锁操作。

在PostgreSQL的默认自动提交模式下(不显式开启事务时),每条SQL语句都会作为一个独立的隐式事务执行:

  • 执行select * from table_a where id = 1 for share时,会对匹配的行获取共享锁
  • 语句执行完成后,隐式事务立即提交,共享锁会被自动释放

由于锁的持有时间只有语句执行的短暂瞬间,几乎不会对其他并发的读写操作产生阻塞或影响,实际效果和直接执行不带FOR SHARE的普通SELECT语句基本一致。

内容的提问来源于stack exchange,提问作者TieDad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:35:38