V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  PopRain  ›  全部回复第 47 页 / 共 47 页
回复总数  924
1 ... 38  39  40  41  42  43  44  45  46  47  
❮ ❯
2019 年 10 月 12 日
回复了 crclz 创建的主题 › PostgreSQL › postgres 如何锁住一条不存在的记录?
@crclz Users 表里面有没有 Username='bzzb'这个记录? 然后,看看锁类型,是否是 record 锁, 谢谢
(今天有点事情,顾不上测试)
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 ... 38  39  40  41  42  43  44  45  46  47  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2964 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 15:13 · PVG 23:13 · LAX 08:13 · JFK 11:13
♥ Do have faith in what you're doing.