Java面试八股之MySQL中的锁及其作用

  1. MySQL中的锁及其作用

MySQL中的锁分类

全局锁(Global Lock):

描述:对整个数据库实例加锁,最常见的是FLUSH TABLES WITH READ LOCK命令,主要用于全库备份等场景,阻止所有对表的写入操作。

作用:确保在备份过程中数据的一致性,防止数据被其他事务修改。

表级锁(Table Lock):

描述:锁定整张表,分为读锁(Shared Lock,即S锁)和写锁(Exclusive Lock,即X锁)。MyISAM和MEMORY存储引擎默认使用表级锁。

作用:

S锁(读锁):多个事务可以同时获得同一张表的S锁,进行并发读取,但不允许任何事务对表进行写操作。

X锁(写锁):一旦事务对表加了X锁,其他事务不能对该表加任何锁(无论是S锁还是X锁),直到该X锁释放。确保写操作期间不会有其他事务干扰。

行级锁(Row Lock):

描述:仅锁定需要操作的数据行,InnoDB存储引擎支持行级锁,包括共享行锁(Shared Row Lock,S锁)和排他行锁(Exclusive Row Lock,X锁)。

作用:

S锁(共享行锁):多个事务可以同时对不同行加S锁,进行并发读取,但不能修改锁定行。

X锁(排他行锁):一个事务对某一行加X锁后,其他事务不能对该行加任何锁,既不能读也不能写,直到该X锁释放。保护单行数据在写操作过程中的完整性。

间隙锁(Gap Lock):

描述:InnoDB在RR隔离级别下,除了锁定索引记录本身,还会对索引记录之间的间隙加锁,防止其他事务在这个间隙插入新行。

作用:防止“幻读”(Phantom Read),确保在事务执行期间,其他事务不能在特定范围内插入新的满足查询条件的记录。

Next-Key Lock:

描述:Next-Key Lock是行锁和间隙锁的组合,不仅锁定一个索引记录,还锁定其左侧的间隙。在RR隔离级别下,InnoDB对范围查询默认使用Next-Key Lock。

作用:结合行锁和间隙锁的优点,不仅保护索引记录本身,还保护其左侧的间隙,进一步防止幻读现象。

意向锁(Intention Locks):

描述:意向锁是表级锁的一种,用于表明事务对表中某一部分(如一行或多行)的加锁意愿。分为意向共享锁(IS锁)和意向排他锁(IX锁)。

作用:

IS锁:事务打算对表中的某个数据行加S锁时,先在表级别加IS锁。

IX锁:事务打算对表中的某个数据行加X锁时,先在表级别加IX锁。

意向锁的存在使得不同粒度的锁可以共存,同时避免了不必要的锁冲突。

 如果大家需要视频版本的讲解,欢迎关注我的B站:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7月开刷880题,30天搞定必刷重点‼️

李林880一定要在暑假期间给吃透 马上就要刷家了,教大家一个方法,30天吃透880题,正确了90%! 25版880题变化并不大,25版的主要改动是在去年的李6李4模拟题中挑选了约40道题,加入到今年的新版本中。 具体而…

PDF内存如何变小,PDF内存压缩,PDF内存变小怎么调整

在数字化时代,pdf已成为工作、学习和生活中不可或缺的文件格式。它以其跨平台兼容性和安全性受到广大用户的喜爱。然而,随着pdf文件中嵌入的图片、图形和文本内容的增多,文件大小往往会变得相当可观,给文件的传输和存储带来一定的…

python采集阿里巴巴历年员工人数统计报告

数据为2012到2022财年阿里巴巴每年的全职员工数量。截止2022年3月31日,阿里巴巴共有全职员工254941人,比上年增长3479人。 数据来源于阿里巴巴20-F和F-1文件 按阿里巴巴财政年度进行统计,阿里巴巴财年结束日期为每年3月31日 为全职员工人数 阿…

探索横河AQ6370E系列光谱仪隐藏功能!---高级标记功能!

横河AQ6370E系列光谱仪的这款光谱仪的传统功能中,其实还隐藏了一个特别实用的功能——高级标记功能!前所未有的方式解析数据与测量信号,不仅带来了全新的测试体验,还提升了测量速度,那么这个功能怎么找到呢&#xff0c…

绝区陆--大语言模型的幻觉问题是如何推动科学创新

介绍 大型语言模型 (LLM)(例如 GPT-4、LLaMA-2、PaLM-2、Claude-2 等)已展示出为各种应用生成类似人类文本的出色能力。然而,LLM 的一个鲜为人知的方面是它们倾向于“产生幻觉”或生成不正确或没有根据的事实陈述。我不认为这仅仅是一个限制…

电脑硬盘分区的基本步骤(2个实用的硬盘分区方法)

在现代计算机中,硬盘分区是非常重要的一步。无论是新硬盘的初始化,还是重新组织现有硬盘,分区都是必不可少的操作。本文将详细介绍电脑硬盘分区的基本步骤,帮助您更好地管理和利用硬盘空间。 文章开始,我们先简单说一…

python——list

在Python中,list是一种非常灵活的数据结构,可以用来存储一系列的元素。这些元素可以是任何类型,包括数字、字符串、其他列表等,并且它们不需要是同一种类型。 列表特征: 以下是一些关于Python列表的基本操作&#xff…

Intellj idea无法启动

个人电脑上安装的是2024.01版本的intellj idea作为开发工具,引入了javaagent作为工具包 但是在一次invaliad cache操作后,intellj idea就无法启动了,双击无响应。 重装了idea后也无效(这个是有原因的,下面会讲&#…

仕考网:公务员体检对视力有要求吗?

公务员招聘过程中的体检标准对视力有具体要求,根据不同的岗位职责有所差异。通常情况下,如果申请者双眼经过矫正后视力均低于4.8(小数视力0.6),则会被视为不合格。 对于某些特殊岗位,如J察等,单侧裸眼视力若低于4.8也…

Vue学习笔记-自定义组件使用v-model

拆解实现 父组件 <template><div></div><Son :name"name" inputChange"inputChange"></Son>{{ name }} </template><script setup> import {ref} from vue import Son from ./son2.vueconst nameref("张…

为什么需要重写equals和如何重写equals

首先先看Java中的 &#xff0c;比较的两个对象的地址值。 如果是基本数据类型&#xff0c;那么就是比较的是值。 如果是引用数据类型&#xff0c;比较的就是地址. object类中的equals方法也是用的&#xff1b; 所以要比较两个对象的大小&#xff0c;去调用默认的equals方法…

C#桌面应用开发:番茄定时器

C#桌面应用开发&#xff1a;番茄定时器 1、环境搭建和工程创建&#xff1a; 步骤一&#xff1a;安装visual studio2022 步骤二&#xff1a;新建工程 2、制作窗体部件 *踩过的坑&#xff1a; &#xff08;1&#xff09;找不到工具箱控件&#xff0c;现象如下&#xff1a;…

虚幻引擎在建筑和房地产中的五大颠覆性应用:探索新时代的优势

最初&#xff0c;虚幻引擎作为一个强大的游戏开发工具出现。它不断推动虚拟环境的可能性边界。正因如此&#xff0c;它的使用自然而然地超越了游戏开发&#xff0c;涵盖了包括建筑工程在内的其他行业。那么&#xff0c;在建筑和房地产领域使用虚幻引擎有哪些好处呢&#xff1f;…

代码随想录day36

题目一 上边、左边初始化为1 采用求和进行dp运算 class Solution(object):def uniquePaths(self, m, n):""":type m: int:type n: int:rtype: int"""dp [[0]*n for _ in range(m)]for i in range(m):dp[i][0] 1for j in range(n):dp[0][j] 1…

逻辑回归模型(非回归问题,而是解决二分类问题)

目录&#xff1a; 一、Sigmoid激活函数&#xff1a;二、逻辑回归介绍&#xff1a;三、决策边界四、逻辑回归模型训练过程&#xff1a;1.训练目标&#xff1a;2.梯度下降调整参数&#xff1a; 一、Sigmoid激活函数&#xff1a; Sigmoid函数是构建逻辑回归模型的重要激活函数&am…

mysql查询语句执行流程

流程图 连接器&#xff1a;建立连接&#xff0c;管理连接、校验用户身份&#xff1b;查询缓存&#xff1a;查询语句如果命中查询缓存则直接返回&#xff0c;否则继续往下执行。MySQL 8.0 已删除该模块&#xff1b;解析 SQL&#xff0c;通过解析器对 SQL 查询语句进行词法分析、…

充电宝哪个牌子公认质量好?哪家充电宝好用?4款口碑好充电宝

在如今这个电子设备不离手的时代&#xff0c;充电宝成为了我们生活中的必备品。然而&#xff0c;面对市场上琳琅满目的充电宝品牌和型号&#xff0c;选择一款质量可靠、性能出色的充电宝并非易事。大家都在问&#xff1a;充电宝哪个牌子公认质量好&#xff1f;哪家充电宝好用&a…

【第四届会后4个月检索】第五届计算机网络安全与软件工程国际学术会议(CNSSE 2025)

第五届计算机网络安全与软件工程国际学术会议&#xff08;CNSSE 2025&#xff09; 2025 5th International Conference on Computer Network Security and Software Engineering 重要信息 大会官网&#xff1a;www.cnsse.org 大会时间&#xff1a;2025年2月21-23日 会议地点&…

WANGLS

DHCP 动态主机配置协议 原理 网络 网络是双向的,网络是有方向的 广播;广播是由种类的,广播是有范围的的 租约的建立——租约的相应、租约的选择——租约的完成 租约的建立:租约的请求 有客户端发出 DHCP discover 广播、寻找服务器 租约的响应 收到响应,不是服务器,…

电阻负载柜的主要特性和参数是什么?

电阻负载柜作为重要的电力测试仪器&#xff0c;其主要特性和参数对于理解其功能和应用至关重要。以下是对电阻负载柜主要特性和参数的详细阐述&#xff1a; 主要特性 高精度测量&#xff1a;电阻负载柜通常配备高精度的电压、电流和功率因数测量系统&#xff0c;能够准确反映被…