Mysql锁类型和加锁分析

2023-08-31  本文已影响0人  鳌拜的弟弟熬夜

MySQL有三种锁的级别:页级、表级、行级。

表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。

行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度最高。

页面锁:开销和加锁时间介于表锁和行锁之间;会出现死锁;锁定粒度介于表锁和行锁之间,发生锁冲突的概率、并发度也都介于表锁和行锁之间。

算法:

●    Next-KeyLocks锁,同时锁住记录(数据),并且锁住记录前面的Gap。

●    Gap锁,不锁记录,仅仅记录前面的Gap。

●    Recordlock锁,锁数据,不锁Gap。

●    所以Next-KeyLocks = Gap锁 + Recordlock锁。

上一篇 下一篇

猜你喜欢

热点阅读