关于 MySQL 并发事务 加锁这一块的内容,有没有什么讲得比较好的书或者资料

2021-03-13 11:06:53 +08:00
 zxCoder

看那个 MySQL 是怎么运行的,看了一遍对这部分还是迷迷糊糊,感觉细节,概念很多,把握不到整体的一个结构。

4253 次点击
所在节点    数据库
70 条回复
patagonia111010
2021-03-21 17:41:32 +08:00
@gBurnX 你是个 S B 吗 ? block 了
leviathan0992
2021-03-21 17:44:39 +08:00
@gBurnX 你说的确实不对,不用给自己找补了, 任何并发系统都需要 mutex 的实现,但那不是楼主问的事务锁. 事务锁和 mutex 是两个东西. 看看这篇文章 https://leviathan.vip/2019/12/18/understand-mysql-intention-lock/#%E7%90%86%E8%A7%A3-lock-%E5%92%8C-latch
coderwl
2021-03-21 18:28:43 +08:00
看了上面战况激烈啊,我理解数据库的锁主要是逻辑层面的吧,实现方式很多种,比如乐观锁的实现,完全是比较版本号或者时间戳,跟操作系统锁没啥关系
gBurnX
2021-03-21 20:24:00 +08:00
@patagonia111010

你在 41 楼反对了我,骂我是蠢货。然后你没解释原因,也没给出更好的方案。

接着你在 56 楼,又一次否定我。这次你依然没解释原因,然后继续说我嘴犟+属驴。

你在 61 楼,直接骂我 S B,还 block 我。

嗯,我感觉在这个帖子,几个小伙伴教了我很多战斗词汇啊...我该感谢你们嘛?
gBurnX
2021-03-21 20:29:09 +08:00
@leviathan0992

我说小伙伴们,你们能不能,看评论,稍微用心一点啊...

我哪里说这两玩意是同一回事...

还天天给我发资料....我都说了这些资料对我没用...
gBurnX
2021-03-21 20:31:39 +08:00
@coderwl
这位小伙伴,你有想法是很好的。但我建议你去做一次试试,就按照你的乐观锁的想法去做,你看看你写的 db 会不会用到 OS 提供的锁。
encro
2021-03-21 20:45:04 +08:00
普通应用场景:Mysql 手册 足矣; 实际开两个控制台试一下事务和锁,了解事务锁行,脏读之类你就超过 80%程序员了。

专业 DBA: 源码。看一遍,你就超过 95%程序员了。
encro
2021-03-21 20:51:31 +08:00
随便 google 下 mysql 锁。
前三条我都觉得可以:

https://database.51cto.com/art/201910/604421.htm

https://juejin.cn/post/6844903668571963406

https://learnku.com/articles/39212?order_by=vote_count&

剩下的就是自己动手试了。试了之后,如果想了解原理才去查找相关资料,然后再去看是不是要本书,或者研究源码。
lance6716
2021-03-22 08:20:58 +08:00
@gBurnX nPC 为啥会在通信里
gBurnX
2021-03-22 12:12:58 +08:00
@lance6716 因为这些算法第一次出现是在通信理论的协议里,然后才普及到各种数据库、分布式系统中。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/761248

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX