当前位置: 首页 > news >正文

MySQL中锁的简介——表级锁-元数据锁、意向锁

1.元数据锁

在这里插入图片描述
查看元数据锁

select object_type,object_scheme,object_name,lock_type,lock_duration from perfomance_scheme.metadata_locks;

2.意向锁

在这里插入图片描述
线程A开启事务后在执行update更新语句时候,会给数据加上行锁,加上行锁以后,会对整张表加上意向锁。

线程B来给整张表加上表锁时,会先检查这张表的意向锁,通过意向锁来决定它能不能对这张表加锁成功,如果加的表锁和当前这张表的意向锁是兼容的,那么直接会给这张表加锁,如果当前要加的锁和这张表的意向锁不兼容,那此时线程B将会出于阻塞状态,一直阻塞到线程A将事务提交,行锁释放,意向锁释放之后,线程B将解除阻塞状态。
在这里插入图片描述
在这里插入图片描述
线程1中:

#开启事务
begin;select * from score where id = 1 lock in share mode;

线程2中查看表中的意向锁,和执行完sql语句加的行锁,此行锁为共享锁

select object_scheme,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks;

IS意向共享锁和表锁里面的读锁是兼容的,和表锁里面的写锁是互斥的。
在这里插入图片描述
在这里插入图片描述
意向锁存在它的作用就是,在innodb引擎当中加的行锁和表锁之间的冲突问题。

http://www.lryc.cn/news/103072.html

相关文章:

  • React几种避免子组件无效刷新的方案
  • 分享亿款好用的PDF编辑工具
  • AI生成式视频技术来临:Runway Gen-2文本生成视频
  • react钩子函数
  • RISC-V公测平台发布 · 如何在SG2042上玩转k3s
  • Linux系统常见小问题
  • WEB:mfw
  • 2.4 传统经验光照模型详解
  • 基于高通QCC5171的对讲机音频数据传输系统设计
  • 【题解】判断链表中是否有环、链表中环的入口结点
  • Pytorch 最全入门介绍,Pytorch入门看这一篇就够了
  • Lambda 表达式的作用域
  • 【portswigger】第二专题-XSS(二)
  • 【计算机视觉|人脸建模】3D人脸重建基础知识(入门)
  • 使用Jetpack Glance创建Android Widget
  • 【MyBatis 学习三】子段不一致问题 多表查询 动态SQL
  • 15. Spring AOP 的实现原理 代理模式
  • 死锁产生的原因以及解决方案
  • 【构造】CF1758 D
  • 【腾讯云 Cloud Studio 实战训练营】永不宕机的IDE,Coding Everywhere
  • JavaScript将一层级对象数组转为children嵌套的三层级树状对象数组(多级树状分类)
  • Windows脚本启动Redis、Java和Nginx服务指南
  • 【宝藏系列】STM32之C语言基础知识
  • 探索自除数:发现区间内的神奇数字
  • 打卡力扣题目四
  • npm yarn nrm
  • 关于我对刚开始学Java的小白想分享的内容:
  • Redis学习路线(5)—— Redis生成唯一ID
  • django后台系统Tyadmin
  • 设计模式适合用于解决特定的软件设计问题呢