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

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

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

4234 次点击
所在节点    数据库
70 条回复
patagonia111010
2021-03-14 07:19:21 +08:00
@gBurnX 数据库的锁确实和操作系统的锁不是一个东西啊,不要不懂装懂,你个蠢货还以为是换个名词?
zhaoxj58
2021-03-14 12:45:07 +08:00
我之前买了极客时间 MySQL45 讲的课,还看了高性能 MySQL 这本书。前者入门,后者进阶
gBurnX
2021-03-14 16:53:29 +08:00
@AxEqaq 知道差距就好。
AxEqaq
2021-03-14 19:50:50 +08:00
@gBurnX 赶紧去找实习吧,别在这丢人现眼了
gBurnX
2021-03-14 21:24:40 +08:00
@patagonia111010 这位暴躁老哥,建议您先把前面的评论,大声朗读 100 遍,再来评论。连文字就没看清,就过来胡说八道,也是够了。

另外看了一下,您几乎每条评论都是粗鄙之语,建议贵家长加强家教。先学会做人,才能做好事情。
zhangysh1995
2021-03-14 21:26:34 +08:00
@dzdh 实现和 MySQL 设计是一致的,但是文档写的不太对。
gBurnX
2021-03-14 21:26:48 +08:00
@AxEqaq

我在上面已经说了很多次,实习那个帖子,是帮别人发的...如果您看不清楚,我在这里多发几次:

实习那个帖子,是帮别人发的。
实习那个帖子,是帮别人发的。
实习那个帖子,是帮别人发的。

看清楚了吗?要不再多读几次,加深印象?
py2ex
2021-03-14 23:07:45 +08:00
@gBurnX #4 模电数电中锁概念的体现 /应用在哪里? 计算机专业,模电数电时序逻辑只学过导论。
CPU 层面和锁沾边的是中断,但是由于没有研究过多核 CPU,不作评价。
操作系统层面需要应对多进程共享信息的问题,锁概念开始大量应用。
reself
2021-03-15 00:15:18 +08:00
这逼装的,尬得一逼。。。
love2020
2021-03-15 09:01:00 +08:00
通篇阅读了一下感觉还是戾气太重了啊哈哈
Hieast
2021-03-15 11:11:48 +08:00
@py2ex #35 只要共享某一个资源对业务来说会出问题时就会用到锁的概念。用计算机系统视角来看的话就很好理解,计算机系统有个基本的原则,即软件和硬件在逻辑上是等价的。

就 cpu 层面,中断还是停止了当前的程序去做别的事情,跟锁确实不相关。跟锁更相关的是流水线功能,流水线里的资源是加法器、乘法器等等,业务是指令,在资源上有专门的寄存器来表示锁。

确实戾气太重了,人身攻击、说非技术话题的的都 block 了。有的人能够主动重构知识体系兼容更多领域,有的人就只是守着自己领域的那一套,都能生存,但是适者可以活得更好。
pedia
2021-03-19 13:50:30 +08:00
@gBurnX 不懂就不要瞎说了 误导别人
gBurnX
2021-03-19 19:11:43 +08:00
@pedia

我不懂?我瞎说?行,首先感谢本论坛,不能修改评论,不能删除评论。现在,我们来复盘一下你回复我的评论:

1.两条是直接否定我的观点,但你没解释原因,也没提出更好的观点。6 楼,22 楼。

2.一条是学数据库书籍,换个名词。25 楼。

3.我在 27 楼问你 [逻辑锁又是怎么完成锁功能] ?
你在 29 楼说 [并不需要操作系统的锁来实现] 。

我在 31 楼问你 [不需要操作系统的锁,那么怎么解决多把逻辑锁的并发问题] ?
然后你在 32 楼说 [这需要 latch 互斥] 。接着往前翻,你在 25 楼说 [操作系统的锁在数据库称为 latch] ,带入你在 32 楼的话后,你在 32 楼的发言就成了 [这需要 操作系统的锁 互斥]

所以,你的观点是:
A.逻辑锁,完成锁功能,不需要操作系统的锁来实现。
B.逻辑锁,完成锁功能的多把逻辑锁的并发问题时,需要操作系统的锁来实现。

你自己这完全相反的说法,怪我不懂?怪我瞎说?怪我误导别人?
pedia
2021-03-20 11:25:48 +08:00
@gBurnX block 了 ,不懂数据库就不要出来误导别人,看下帖子有多少人说你不对了.
gBurnX
2021-03-20 15:22:23 +08:00
@pedia 那些说我不对的人,我回复让他们来解释,结果都不敢出来解释,你觉得他们真的懂?

而且,你觉得我说错了,我让你解释,你吓到直接 block 我。但凡你有点真本事,需要这样做?

借你的话,还给你:不懂就不要瞎说了 误导别人。

我好心给楼主普及知识,你们这样的人过来喷一句不对,既不解释原因,也没给出更好方案。你们真的懂?你们真的有证据证明我说错了?你们为啥会出来喷,你们自己心里不是心知肚明?
patagonia111010
2021-03-20 18:45:11 +08:00
@gBurnX 别哔哔了 数据库的锁本来就和操作系统的锁不是一个东西 不是你理解的改个名词,看看这帖子多少人说你说的不对了,还嘴犟,属驴的?
patagonia111010
2021-03-20 18:47:52 +08:00
@gBurnX 不懂就 Google 一下 latch vs lock,一知半解就出来胡说.
gBurnX
2021-03-20 21:58:03 +08:00
@patagonia111010

又是一位几乎每条评论都是粗鄙之语的暴躁老哥,再次建议贵家长加强家教。先学会做人,才能做好事情。

暴躁归暴躁,技术问题,建议您先把前面的评论,大声朗读 100 遍,再来评论。连文字就没看清,就过来暴躁+胡说八道,也是够了。
sunriz
2021-03-21 01:52:38 +08:00
@gBurnX mysql 锁和 os 锁这个问题,虽然我不了解细节,但我感觉你说的是理解的“道”,是抽象出来的的一个共性的概念,其他人说的可能是具体实现方式,你们说的不是一个方面的东西。感觉没必要吵了,没有从共识开始谈。
gBurnX
2021-03-21 04:01:19 +08:00
@sunriz 唉...他们根本没仔细看,我从没说这两把锁是一回事,我用词很严谨的,在 4 楼第一次表述是:数据库对操作系统层次的锁,进行了进一步的包装。

两个直接开骂的人,他们不仅没仔细看,而且你可以翻开他们的发言记录,各种骂街用词。

还有一个小伙伴,一开始不承认 os 锁的作用,后来又承认,自打自脸,还说我不懂误导人..

无奈摊手......

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

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

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

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

© 2021 V2EX