MySQL排它锁之行锁、间隙锁、后码锁

MySQL InnoDB支持三种锁:

MySQL InnoDB支持三种锁:

  • 行锁(Record Lock):锁直接加在索引记录上面,锁住的是key。
  • 间隙锁(Gap Lock):锁定索引记录间隙,确保索引记录的间隙不变。间隙锁是针对事务隔离级别为可重复读或以上级别而设计的。
  • 后码锁(Next-Key Lock):行锁和间隙锁组合起来就叫Next-Key Lock。

默认情况下,InnoDB工作在可重复读隔离级别下,并且会以Next-Key Lock的方式对索引行进行加锁,这样可以有效防止幻读的发生。Next-Key Lock是行锁和间隙锁的组合,当InnoDB扫描索引记录的时候,会首先对索引记录加上行锁(Record Lock),再对索引记录两边的间隙加上间隙锁(Gap Lock)。加上间隙锁之后,其他事务就不能在这个间隙修改或者插入记录。

MySQL排它锁之行锁、间隙锁、后码锁

行锁(Record Lock)

当需要对表中的某条数据进行写操作(insert、update、delete、select for update)时,需要先获取记录的排他锁(X锁),这个就称为行锁。

针对InnoDB RR隔离级别,行锁是基于表索引的,如果where条件中的字段是非索引列,将产生不一样的现象:没有索引将产生表锁,导致整张表的写操作都会出现等待。

MySQL排它锁之行锁、间隙锁、后码锁

这是一个索引记录锁,它是建立在索引记录上的锁(主键和唯一索引都算),很多时候,锁定一条或多条数据。由于无索引,往往会导致整个表被锁住,建立合适的索引可以防止扫描整个表。

Gap锁(Gap Lock)

在MySQL中select称为快照读,不需要锁,而insert、update、delete、select for update则称为当前读,需要给数据加锁,幻读中的“读”即是针对当前读。

MySQL默认事务隔离级别是可重复读,这个隔离级别为了避免幻读现象,引入了这个间隙锁,对索引项之间的间隙上锁。

MySQL排它锁之行锁、间隙锁、后码锁

当我们查询的记录不存在,没有命中任何一行记录,无论用等值查询还是范围查询,它使用的都是间隙锁(Gap Lock)。RR隔离级别才有gap lock,Read Commited下没有。

后码锁(Next-key Locks)

后码锁是记录锁与间隙锁的组合,它的封锁范围,既包含索引记录,又包含索引区间。

注:Next-key Lock的主要目的,也是为了避免幻读(Phantom Read)。如果把事务的隔离级别降级为RC,Next-key Lock则也会失效。

MySQL排它锁之行锁、间隙锁、后码锁

当我们使用了范围查询,不仅命中了记录,还包含了间隙,在这种情况下我们使用的就是Next-key Lock,它是MYSQL里面默认的行锁算法,相当于记录锁加上间隙锁。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116471.html

(0)

相关推荐

  • 光伏的未来,为什么光伏行业即将迎来大爆发?

    本周国内G1单晶硅片(158.75 mm/170μm)价格区间在5.42-5.53元/片,成交均价维持在5.51元/片;M6单晶硅片(166mm/170μm)价格区间在5.55-5.74元/片,成交均价维持在5.66元/片;M10单晶硅片(182 mm/175μm)价格区间在6.70-6.75元/片,成交均价降至6.74元/片,周环比跌幅0.89%;G12单晶硅片(210 mm /170μm)价格区间在8.70-9.00元/片,成交均价维持在8.93元/片。本周硅片价格继续持稳略降,其中多家企业降低M10硅片报价,市场各尺寸硅片价格出现松动迹象。从成本来看,硅料价格自10月中出现跳涨至本周持稳,目前已达高位,各家硅片企业对后市硅料价格走势持观望态度。从终端来看,企业间战略或出现分歧。一体化企业看重全年组件出货量,为了增加市场占有率选择低利润提高开工率,缓慢刺激对硅片端的需求。一线企业基于现有地位更加看重成本,选择降低开工率以增加上下游博弈时的议价能力。自上周起,M6和M10硅片价格陆续出现松动也侧面印证了分歧的存在。进入年底,伴随着分布式光伏的补贴和组件出口端的红利,将会有更多的企业冲击组件出货量,进而刺激硅片端的出货量和价格。因此预期,短期内硅片或将继续小幅下滑,并在终端需求改善后企稳回升,本周参与调研的国内十家单晶硅片企业开工率出现分歧。其中两家一线企业开工率分别降至45%和60%,一体化企业中,除其中一家企业位于青海的工厂在限电结束后,进行小尺寸单晶炉的改造,其余开工率基本全部提升至100%,此次改造对总产量影响很小。其余企业开工率提升至70%-80%之间。值得注意的是,16日美国国际贸易法院(CIT)正式宣布恢复双面太阳能组件关税豁免权,并将201关税税率从18%降至15%。除天合光能收到美国双反保证金退款约1.76亿美元外,其余各家与美国有贸易关系的企业目前未收到退税。此前热议的组件扣留海关事件在递交材料后也未有最新进展。后续若退税返还,受益企业将增加原有现金流,终端需求或因组件出口量的提升而得到改善。光伏爆发还需要一个确定的消息。

    生活 2021年11月21日
  • 甲亢在饮食上注意哪些方面吃什么最好,甲亢应该注意什么饮食

    在甲亢调养过程中,患者的饮食尤其重要。因为甲亢病人由于代谢亢进,营养物质需求明显增加,如果营养补充不足,消瘦会更为明显,甚至出现类似晚期癌症的症状。因此,饮食是否得当十分重要。

    生活 2021年12月13日
  • 早上起床后应该喝白开水,蜂蜜水还是淡盐水呢?

    今天我就给大家科普一下!我们早上起床应该喝什么

    生活 2021年9月11日
  • 活血化瘀民间老偏方,活血化瘀的经典方剂

    这个活血化瘀非常厉害的方子叫血府逐瘀汤,出自化瘀第一人王清任之手,建议大家可以去深入地了解一下,因为它实在是太好用了。

    生活 2021年11月6日
  • 生活中的健康知识,原来有这么多,你知道多少?不妨收藏

    导语:在最近一段时间,网上曝出了一些健康方面的小知识,在这些小知识当中,有一些和我们生活是息息相关的,甚至,有一些就是我们现在正在烦恼的一些健康问题。在这里小编和大家一起汇总分享一下。

    生活 2021年9月7日
  • 中国电力建设爆发:5634亿超大订单

    刚刚,中国电建发布1-10月公告,新签合同额达5634.64亿,同比增长2.97%。其中国内新签合同额约为4651.73亿,同比增长18.1%。国外新签合同额折合人民约为982.21亿元,同比减少35.9%。国内外水利电力业务新签合同额合计约为人民币2274.77亿元。

    生活 2021年11月21日