mysql表级锁(表锁/元数据锁/意向锁)

news2025/1/17 21:55:23

文章目录

  • 表级锁的分类
    • 1、表锁(分类)
      • 1.表共享读锁(read lock)
      • 2.表独占写锁(write lock)
      • 3.语法:
    • 2、元数据锁(meta data lock )
    • 3、意向锁
      • 1.意向共享锁(IS):由语句 select ... lock in share mode添加
      • 2.意向排他锁(IX):由 inser、update、delete、select...for update添加


表级锁的分类

1、表锁(分类)

表锁是锁住整张表,通过不同的表锁设置,控制并发访问。某些引擎不支持行锁,需要通过表锁来控制并发。支持行锁的引擎,就不建议使用表锁了。

1.表共享读锁(read lock)

只能进行读操作,不能进行写操作

第一个session窗口,对表进行读锁的情况下,会有错误的提示

在这里插入图片描述

其他session窗口中进行更新操作的时候会被阻塞:
在这里插入图片描述

当unlock tables时,读锁被释放,阻塞被释放,


2.表独占写锁(write lock)

在这里插入图片描述
当进行写锁的情况下:
当前会话session可以正常进行写入,读取等操作
但是其他会话session将无法进行读取和写入操作等写锁unlock tables被释放的情况下,将恢复正常的读写操作;

3.语法:

1.加锁:lock tables 表名....read/write

2解锁:unlock tables /客户端断开

2、元数据锁(meta data lock )

元数据锁主要是面向DML和DDL之间的并发控制,如果对一张表做DML增删改查操作的同时,有一个线程在做DDL操作,不加控制的话,就会出现错误和异常。元数据锁不需要我们显式的加,系统默认会加。

元数据锁的原理:

1.当做DML操作时,会申请一个MDL读锁

2.当做DDL操作时,会申请一个MDL写锁

3.读锁之间不互斥,读写和写写之间都互斥

3、意向锁

nnoDB支持多种粒度锁定,允许行锁和表锁并存。为了使在多个粒度级别上的锁定变得切实可行,InnoDB实现了意图锁。
意向锁是表级锁,表示事务稍后对表中的行需要上哪种类型的锁(共享锁或排他锁)。有两种类型的意图锁

1.意向共享锁(IS):由语句 select … lock in share mode添加

与表锁共享锁兼容,与表锁写入互斥

2.意向排他锁(IX):由 inser、update、delete、select…for update添加

与表锁共享锁及排它锁互斥,意向锁之间不会排斥

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1790656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java基础29(编码算法 哈希算法 MD5 SHA—1 HMac 算法 堆成加密算法)

目录 一、编码算法 1. 常见编码 2. URL编码 3. Base64编码 4. 小结 二、哈希算法 1. 哈希碰撞 2. 常用哈希算法 MD5算法 SHA-1算法 自定义HashTools工具类 3. 哈希算法的用途 校验下载文件 存储用户密码 4. 小结 三、Hmac算法 小结: 四、对称加密…

WEB攻防-Python-PYC 反编译CTF 与 CMS-SSTI 模版注入

反编译pyc字节码文件 pyc文件是py文件编译后生成的字节码文件(byte code),pyc文件经过python解释器最终会生成机器码运行。因此pyc文件是可以跨平台部署的,类似Java的.class文件,一般py文件改变后,都会重新生成pyc文件。 真题附件…

6月5日 C++day3

#include <iostream>using namespace std;class Per { private:string name;int age;int *high;double *weight; public:Per(){cout << "Per的无参构造" << endl;}Per(string name,int age,int high,double weight):\name(name),age(age),high(new…

React项目目录结构与组件基础结构

在React中开发项目并扩展组件时&#xff0c;一个清晰合理的目录结构是至关重要的。它不仅可以帮助你更好地组织代码&#xff0c;还能提高项目的可维护性和扩展性。下面是一个基本的React项目目录结构大纲&#xff0c;你可以根据自己的项目需求进行调整&#xff1a; my-app/ ├…

MySQL的联合索引及案例分析

1. 联合索引 关于联合索引的详解参考博客【Mysql-----联合索引和最左匹配】&#xff0c;包含讲解 最左匹配 联合索引失效的情况 不遵循最左匹配原则范围查询右边失效原理like索引失效原理 比较关注的点在于&#xff1a; 对A、B、C三个字段创建一个联合索引&#xff08;A, …

go语言linux安装

下载&#xff1a;https://go.dev/dl/ 命令行使用 wget https://dl.google.com/go/go1.19.3.linux-amd64.tar.gz解压下载的压缩包&#xff0c;linux建议放在/opt目录下 我放在/home/ihan/go_sdk下 sudo tar -C /home/ihan/go_sdk -xzf go1.19.3.linux-amd64.tar.gz 这里的参数…

21.Redis之分布式锁

1.什么是分布式锁 在⼀个分布式的系统中, 也会涉及到多个节点访问同⼀个公共资源的情况. 此时就需要通过 锁 来做互斥控制, 避免出现类似于 "线程安全" 的问题. ⽽ java 的 synchronized 或者 C 的 std::mutex, 这样的锁都是只能在当前进程中⽣效, 在分布式的这种多…

Nginx配置详细解释:(3)http模块及server模块,location模块

目录 环境概述&#xff1a; http模块中的全局模块 1. root配置主要是对主web页面的路径访问。 2.server虚拟主机 2.1基于IP&#xff1a; 2.2基于域名&#xff1a; 3.alias别名 4.location匹配 5.access模块&#xff1a; 6.验证模块 7.自定义错误页面 8.日志存放位置…

信不信,马上教会你Purple Pi OH开发板之ADB常用命令

开源鸿蒙硬件方案领跑者 触觉智能 本文适用于在Purple Pi OH开发板进行分区镜像烧录。触觉智能的Purple Pi OH鸿蒙开源主板&#xff0c;是华为Laval官方社区主荐的一款鸿蒙开发主板。 该主板主要针对学生党&#xff0c;极客&#xff0c;工程师&#xff0c;极大降低了开源鸿蒙开…

专属编程笔记

Utils目录作用 在软件开发中&#xff0c;Utils&#xff08;或 Utilities&#xff09;目录通常用于存放一些通用的、不特定于任何模块的工具类或辅助函数。这些工具类或函数为整个应用程序或多个模块提供便利的功能支持&#xff0c;使得代码更加模块化、易于维护和重用。Utils目…

深度学习 --- stanford cs231 编程作业(assignment1,Q2: SVM分类器)

stanford cs231 编程作业之SVM分类器 写在最前面&#xff1a; 深度学习&#xff0c;或者是广义上的任何学习&#xff0c;都是“行千里路”胜过“读万卷书”的学识。这两天光是学了斯坦福cs231n的一些基础理论&#xff0c;越往后学越觉得没什么。但听的云里雾里的地方也越来越多…

pycharm专业版安装保姆级教程

一、官网下载 PyCharm下载地址&#xff1a;http://www.jetbrains.com/pycharm/download/#sectionwindows 选择专业版点击下载 二、进入安装向导 下载完成后&#xff0c;点击.exe文件 点击是 点击下一步 可修改安装目录为自己想安装的位置 或者不修改也可 点击下一步 选择所…

[数据概念]数据要素和智能算力市场关系解析

昨天的AI圈里最炸裂的莫过于OpenAI GPT4o的发布了。 根据官网的介绍&#xff0c;GPT-4o是面向未来人机交互范式的全新大模型&#xff0c;具有文本、语音、图像三种模态的理解力。 而且加量不加价 国内报道也是铺天盖地的“炸裂”。 反倒是外媒&#xff0c;报道倒是没有那么夸张…

亮数据——全球网络数据一站式平台

在我们日常的项目开发和研究中&#xff0c;数据获取总是一个让人既爱又恨的话题。找到一个既高效又安全的工具&#xff0c;简直就像是在茫茫沙漠中找到绿洲。近期&#xff0c;我测评了&#xff0c;数十家数据获取工具&#xff0c;最后锁定了&#xff0c;亮数据&#xff0c;本篇…

网络安全等级保护相关标准及发展

目录 等保标准 等保定级 发展 等保标准 2016年11月发布的《网络安全法》第二十一条提出“国家实行网络安全等级保护制度”。 等级保护标准体系&#xff1a; &#xff08;1&#xff09;安全等级类标准 主要包括GB/T 22240-2008《信息安全技术 信息系统安全保护等级保护定…

从Series到DataFrame:Python数据操作的转换技巧

在数据分析和处理的过程中&#xff0c;我们经常需要在Pandas库中对Series和DataFrame进行操作。本文将介绍如何将Series转换为DataFrame&#xff0c;以及如何提取DataFrame中的某一列。首先&#xff0c;我们将通过使用to_frame()函数将Series转换为DataFrame。然后&#xff0c;…

Linux系统编程(七)网络编程TCP、UDP

本文目录 一、基础知识点1. IP地址2. 端口3. 域名4. 网络协议类型5. IP协议类型6. 字节序7. socket套接字 二、TCP 常用API1. socket套接字描述符2. bind套接字绑定3. listen设置最大排队数4. accept接收客户端请求5. connect连接服务端6. read读取数据7. write发送数据 三、UD…

网页音频提取在线工具有哪些 网页音频提取在线工具下载

别再到处去借会员账号啦。教你一招&#xff0c;无视版权和地区限制&#xff0c;直接下载网页中的音频文件。没有复杂的操作步骤&#xff0c;也不用学习任何代码。只要是网页中播放的音频文件&#xff0c;都可以把它下载到本地保存。 一、网页音频提取在线工具有哪些 市面上的…

碳化硅MOSFET短路保护方法

碳化硅MOSFET短路保护方法 1.概述2.IGBT和碳化硅MOSFET器件特性3.短路保护方法比较4.总结 1.概述 碳化硅 (SiC) MOSFET 已成为硅 (Si) IGBT 的潜在替代产品&#xff0c;适用于光伏逆变器、车载和非车载电池充电器、牵引逆变器等各种应用。与 Si IGBT 相比&#xff0c;SiC MOSFE…

东芝机械人电池低报警解除与机器人多旋转数据清零

今天启动一台设备&#xff0c;触摸屏一直显示机器人报警&#xff08;翻译过后为电池电量低&#xff09;&#xff0c;更换电池后关机重启后也不能消除&#xff0c;所以打开示教器&#xff0c;下面就来说说怎么解决此项问题&#xff08;可以参考官方发的手册&#xff0c;已手册为…