前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL GAP 锁研究

MYSQL GAP 锁研究

作者头像
AustinDatabases
发布2019-06-21 16:42:39
4910
发布2019-06-21 16:42:39
举报
文章被收录于专栏:AustinDatabases

MYSQL 的锁,一直都是一个研究的热点,其中GAP锁的研究一直很 HOT,如果有人问,在同一个查询段,GAP 锁是否可以“兼容”。你怎么回答,这里不做直接回答,我们来做实验

先交代清楚这个实验是怎么做的。

use test;

CREATE TABLE IF NOT EXISTS `gap_test`(

`id` INT UNSIGNED AUTO_INCREMENT,

`name` VARCHAR(20) ,

`age` tinyint ,

`date` DATETIME,

PRIMARY KEY ( `id` )

)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 row_format = DYNAMIC;

insert into `gap_test` (name,age,date) values ('austin',18,now());

insert into `gap_test` (name,age,date) values ('tim',28,now());

insert into `gap_test` (name,age,date) values ('johnny',16,now());

insert into `gap_test` (name,age,date) values ('jason',17,now());

insert into `gap_test` (name,age,date) values ('winnset',38,now());

create index ix_gap_test_age on gap_test(age);

上面是初始的数据。

情景1 ,

Session 1

Session 2

下面我们看锁的信息

产生锁,但没有gap 锁

2 情况2

session 1

session 2

的信息

情况3

session 1

Session 2

结果

情况4

session 1

session 2

结果不锁

情况 5

session 1

session 2

结果

情况 6

session 1

session 2

结果

情况 7

session 1

session 2

结果

情况 8

session 1

session 2

结果

以上为测试结果,这里不浪费时间描述了,关键点在情况 7 ,看似不应该被锁,但实际上锁了,这里面设计 ICP 下推原则 和 GAP 锁的一些内容,找个时间 explaination。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档