漫画:MySQL的锁世界(排它、共享、记录、临键、间隙锁...)

业余草

共 1864字,需浏览 4分钟

 ·

2022-07-07 21:45

你知道的越多,不知道的就越多,业余的像一棵小草!

你来,我们一起精进!你不来,我和你的竞争对手一起精进!

编辑:业余草

cnblogs.com/duck-and-duck

推荐:https://www.xttblog.com/?p=5349

1.饮料

这是一杯饮料。

这是一杯饮料

这是3杯饮料,每杯饮料的味道各不相同。

3杯饮料

但是人类并不称呼饮料饮料,而是称呼饮料记录

2.红章鱼

这个红色的,长的像章鱼🐙的家伙,我们就叫它红章鱼~

红章鱼分为头部和触手两个部分。

红章鱼

红章鱼有触手,且可以有任意根触手。

红章鱼有触手

红章鱼爱喝饮料,把触手伸进杯子就能吸到饮料。

红章鱼爱喝饮料

红章鱼将不同的触手伸进不同的杯子,就可以同时喝多杯饮料。

多只红章鱼可以同时出现。

多只红章鱼

但是正在喝饮料的红触手会排斥其它触手,即一杯饮料里最多只能有一只红触手。

先来先得,后来的触手要排队。

同一杯饮料可以有多只红章鱼在「按序」排队等待。

红章鱼痴迷同时吸吮多杯饮料的感觉,所以它的所有触手要么全在等待,要么全在喝饮料。也就是说,如果红章鱼的某只触手在排队,那么它的其它触手也必须排队,即使是没人喝的饮料也要排队。

红章鱼

有触手排队但是没触手伸进去喝的饮料,仍然可以被后来的其它章鱼喝。

但是人类并不称呼红章鱼红章鱼。人类称呼红章鱼的头部意向排它锁;人类称呼正在喝饮料的红触手排它记录锁

3.绿章鱼

这些是绿章鱼。

绿章鱼

绿章鱼的绝大多数特性和红章鱼完全相同,除了一点:绿章鱼的触手愿意跟其它绿色触手一起分享饮料。

绿章鱼

因为红章鱼不会向其它任何颜色的章鱼分享饮料,且绿章鱼只会向绿章鱼分享饮料,所以红章鱼和绿章鱼不会同时喝同一杯饮料,后来的要排队。

排队

根据以上规则,红章鱼和绿章鱼可以组成很多状态。下面就是一种,编号表示他们来的顺序。

但是人类并不称呼绿章鱼绿章鱼,人类称呼绿章鱼的头部意向共享锁;
人类称呼正在喝饮料的绿触手共享记录锁

4.空地

事实上,饮料杯未必都是相邻的,它们之间可能有空地。

空地

无论两个饮料杯相隔多远,它们之间如果没有其它饮料杯,那我们就说这两个饮料杯之间是同一块空地。

最左边的杯子的左边,最右边的杯子的右边,仍然是空地。

对于章鱼来说,除了喝饮料的触手以外,有时候它们会有一些多余的触手,它们会在喝饮料的时候把多余的触手放到杯子间的空地上休息。

因为空地上啥都没有,在空地上的触手不用抢着喝饮料,所以在空地上红绿颜色的触手可以和平共处。

但是人类并不称呼空地空地,人类称呼空地记录间的间隙

人类也不称呼那些在空地上的触手空地上的触手,人类称呼在空地上的触手间隙锁

如果一只章鱼把一只触手伸进了一杯饮料吮吸,恰巧把另一只触手放在紧挨该饮料的左边休息,那么人类会称呼这两只触手为一个临键锁

5.黑触手

这个世界存在另一种红章鱼,这种红章鱼的触手是黑色的。

黑触手

黑色的触手跟红绿颜色的触手都不同,黑色的触手没办法吸食饮料。但是黑触手有一个逆天的功能,就是当黑触手接触空地时,在接触点会凭空生成一杯饮料出来!

因为黑触手可以创造出章鱼爱喝的饮料,所以其它章鱼对黑触手奉若神明,当黑触手接触到空地后,其它触手不会过来打扰。黑触手只会降落在没有其它触手的空地。

一只有黑触手的红章鱼,可以在同一片空地上放下多只触手(如果空间足够)。

也可以在不同的空地同时放下多只触手。

但是人类并不称呼落在空地上的黑触手落在空地上的黑触手,人类称呼落在空地上的黑触手意向插入锁,并且认为它是间隙锁的一种。

6.激光

下图是一条红色的激光,横在了所有杯子上方。

激光

红激光十分灼热,红章鱼和绿章鱼碰到红激光就会被烧伤,所以红激光存在的时候,章鱼们就在上方盘旋不敢下来。另一方面,没有任何触手在饮料杯或空地上时,红激光才有可能出现。

红激光

这是绿色的激光。

绿激光

绿激光比较柔和,绿色的东西能够无伤的穿过绿激光,所以绿章鱼不受绿激光的影响。

绿激光比较柔和

事实上,绿激光可以同时出现多条,而红激光最多出现一条,且红绿激光不会同时存在。

红绿激光不会同时存在

但是人类不称呼红激光红激光,人类称呼红激光排它表锁。人类也不称呼绿激光绿激光,而是称呼绿激光共享表锁

7.参考资料

  • InnoDB Locking and Transaction Model:https://dev.mysql.com/doc/refman/8.0/en/innodb-locking-transaction-model.html

看完本文有收获?请转发分享给更多人!!!

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报