专栏首页用户4352451的专栏MySQL innoDB 中的锁升级

MySQL innoDB 中的锁升级

什么是锁升级?

  • 锁升级是指将当前锁的粒度降低,如一把行锁升级唯一把页锁,或者将页锁升级为表锁,如果在数据库设计中认为锁是一中稀有资源,哪么就会频繁有锁升级的现象

发生锁升级的现象

  • 当一条SQL语句对一个对象上持有的锁数量超锁了阈值,默认这个阈值为5000,但是对于不同对象不会发生锁升级
  • 锁资源占用的内存超过激活内存的百分之40 就会发生锁升级

但是!!!!!

innoDB 引擎不存在锁升级的问题,因为其不是根据每个记录来产生啊行锁的,是根据每个事务访问的每个页对锁进行管理的。

其实吧,这个根据页进行加锁我没搞懂,X,S锁作何解释,难道不是当一条SQL语句加的锁范围大了 在next-keys-locks 的加锁算法下导致全页被锁住 或全表被锁住。 我感觉这玩意也是锁升级啊。 要是哪位大神看到帮我指点指点

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • redis的持久化存储RDB的原理分析

    想到redis,你的第一反应是什么呢?redis很快,我们一般一用它做缓存,再想想他为什么快呢?也许你的第一反应和我的第一反应是一样的,因为他是基于内存存储的,...

    居士
  • Vector、ArrayList、LinkedList有何区别?

    Vector、ArrayList、LinkedList均为线型的数据结构,但是从实现方式与应用场景中又存在差别。

    居士
  • 关于数据库中NOT NUll 的问题。

    在codeReview的时候被同事指出 其中object.getCode()的值时哦那个数据库查出来的一个deci类型的并且声明为not null。 类似图下...

    居士
  • 【运维故事】记一次系统重大升级的经历

    小小科
  • SpringBoot发布了新年版本,v2.2.3发布

    今天是小年,农历的腊月二十三号,从今天开始就正式步入了新年倒计时了,提前祝大家新年快乐!!!

    恒宇少年
  • TensorFlow版本-如何更新?(踩坑版)

    双愚
  • 详细grep、sed、awk

    [root@VM_0_7_centos tmp]# cat 1.txt 1 2 3 4 5 6 [root@VM_0_7_centos tmp]# cat 2...

    用户1173509
  • SAS-Macro 中的那些语句(三)

    不管是在data步中,还是在宏中,都是会有条件判断,在data步中有if ...then ...在宏中也是有该语句的,不过得加上%号,那就是 %if ....%...

    Setup
  • 深入浅出JavaScript之原型链&继承

    阅读目录 小试身手 基于原型的继承 prototype属性与原型 实现一个class继承另外一个class 改变prototype 实现继承的方式 Javasc...

    逸鹏
  • JS原生引用类型解析2-Array类型

    (注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

    love丁酥酥

扫码关注云+社区

领取腾讯云代金券