V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  TouchQQ  ›  全部回复第 1 页 / 共 1 页
回复总数  17
bGl1dGFvNzE5QHFxLmNvbQ==
感谢~, 加油!
2023-08-03 20:57:50 +08:00
回复了 sirz 创建的主题 推广 GPT 联网初体验
账号:Tapping6046
感谢大佬。 我来晚了吗?
支持一下
2021-01-08 22:53:22 +08:00
回复了 SWALLOWW 创建的主题 问与答 看这么多人收喜马拉雅,你们都听啥?
听大牛讲科学精神
2021-01-02 13:15:53 +08:00
回复了 leekayui 创建的主题 优惠信息 B 站会员优惠 128 元 两年
2021-01-01 21:07:56 +08:00
回复了 leekayui 创建的主题 优惠信息 B 站会员优惠 128 元 两年
2020-12-24 19:27:56 +08:00
回复了 abser 创建的主题 问与答 被动收入者的收入类型有哪些
吃作品版权费算不算
2020-07-02 14:31:46 +08:00
回复了 JasonLaw 创建的主题 数据库 MySQL 插入意向锁的作用是什么?
@JasonLaw 插入意向锁 不是用来 解决 “phantom read” 的, 而是为了 解决间隙锁的并发并发问题的。
首先插入意向锁是一种类型的间隙锁,锁模式是 IX, 而一般说的间隙锁( Gap Locks )锁模式是 X 。IX 和 X 的兼容性表中只有 IX 和 IX 兼容。
就像 MySQL 文档第一段(正文引用的上面一段)说的, 如果已经有两个索引记录 4 和 7, 两个会话分别插入 5 和 6, 如果没有‘插入意向锁’而只有‘间隙锁’就会出现并发问题, 两个会话都会要求获取 4~7 记录之间的间隙锁 。 所以 MySQL 引入了插入意向锁, 同一个 gap 的插入意向锁相互兼容所以不会发生阻塞。

下面说另外的问题, 为什么会有 Gap Locks 这种锁, 还不是因为 MySQL 的隔离级别默认是 'REPEATABLE-READ' 。 为了时间 可重复读, 就要解决幻影都,MySQL 的解决方案就是 加‘间隙锁‘。Oracle 数据库默认隔离级别是提交读,好像压根不支持可重复读, 所以 Oralce 里没有间隙锁。

如果将正文例子中的 Client A 的隔离级别修改为 'READ-COMMITTED' 就不会加间隙锁了,Client B 也不会被阻塞了。
2020-07-02 12:11:41 +08:00
回复了 JasonLaw 创建的主题 数据库 MySQL 插入意向锁的作用是什么?
MySQL 默认的隔离级别是 ‘可重复读’ , 不允许幻读。Client A 加间隙所为了防止在事务执行期间被其他会话在本事物已读取的数据‘间隙‘插入新的行。
2018-12-21 17:10:03 +08:00
回复了 monsterj 创建的主题 职场话题 大家的工资是几号发?
今天发本月
2018-10-11 14:45:43 +08:00
回复了 fuchaofather 创建的主题 程序员 坐久了后腰不舒服, 大家怎么解决的?
感觉像骨盆前倾的症状, 搜索 自检下。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4678 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 09:50 · PVG 17:50 · LAX 01:50 · JFK 04:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.