V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PopRain  ›  全部回复第 36 页 / 共 36 页
回复总数  703
1 ... 27  28  29  30  31  32  33  34  35  36  
2019 年 10 月 12 日
回复了 crclz 创建的主题 PostgreSQL postgres 如何锁住一条不存在的记录?
@crclz

你说的例子就是记录存在才会防止 insert 呀,这个就是标准的行级锁,如果不存在 c1=10 ,那你可以随便插入 insert c1=10。

SQL SERVER: (就是你给的链接)
必须满足下列条件才能发生键范围锁定:
事务隔离级别必须设置为 SERIALIZABLE。
查询处理器必须使用索引来实现范围筛选谓词。 例如,SELECT 语句中的 WHERE 子句可以用以下谓词建立范围条件:ColumnX BETWEEN N ' AAA ' AND N ' CZZ ' 。 仅当 ColumnX 被索引键覆盖时,才能获取键范围锁 。
2019 年 10 月 12 日
回复了 crclz 创建的主题 PostgreSQL postgres 如何锁住一条不存在的记录?
@crclz MySQL GAP 锁 和 sql server 范围锁我知道,但是这两个锁都是用 BETWEEN 去激活使用的吧

如果用 select * from Friendships where field_1='user1' and field2='user2' for share 并不会激活范围锁。
2019 年 10 月 12 日
回复了 crclz 创建的主题 PostgreSQL postgres 如何锁住一条不存在的记录?
第一次听说数据库锁可以加在不存在的记录上,而且,你记录不存在,索引肯定也没有这个项,怎么会加锁? 难道自动升级为表锁,或者页面锁,不是行级锁? 其它锁数据大了肯定有性能问题

楼主能不能给个具体的链接,谢谢!
1 ... 27  28  29  30  31  32  33  34  35  36  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   854 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 21:42 · PVG 05:42 · LAX 14:42 · JFK 17:42
♥ Do have faith in what you're doing.