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

MySQL锁的类型有哪些

目录

共享锁(share lock):

排他锁(exclusivelock):

表锁(table lock):

行锁:

记录锁(Record lock):

页锁:

间隙锁:

基于锁的属性分类:共享锁,排他锁。

基于锁的粒度分类:行级锁(Innodb)、表级锁(Innodb、MyIsam)、页级锁(Innodb引擎)、记录锁、间隙锁、临键锁。

基于锁的状态分类:意向共享锁、意向排它锁。

共享锁(share lock):

共享锁又称读锁,简称S锁;当一个事务为数据加上读锁之后,其他事务只能对该数据加读锁,而不能对数据加写锁,直到所有的读锁释放之后其他事务才能对其进行加持写锁。共享锁的特性主要是为了支持并发的读取数据,读取数据的时候不支持修改,避免出现重复度的问题。

排他锁(exclusivelock):

排他锁又称写锁,简称X锁;当一个事务为数据加上写锁时,其他请求将不能再为数据加任何所,直到该锁释放之后,其他事务才能对数据进行加锁。排他锁的目的时在数据修改的时候,不允许其他人同时修改,也不允许其他人读取,避免了出现脏数据和脏读的问题。

表锁(table lock):

表锁是指上锁的时候所著的是整个表,当下一个事务访问该表的时候,必须等前一个事务释放了锁才能进行对表进行访问;特点:粒度大,加锁简单,容易冲突;

行锁:

行锁是指上锁的时候锁住的是表的某一行或多行记录,其他事务访问同一张表时,只有被锁住的记录不能访问,其他的记录可正常访问,特点:粒度小,加锁比表锁麻烦,不容易冲突,相比表锁支持的并发要高。

记录锁(Record lock):

记录锁页属于行锁中的一种,只不过记录锁的范围只是表中的某一行记录,记录锁是说事务在加锁后锁住的只是表的某一行记录,加了记录锁之后数据可以避免数据在查询的时候被修改的重复读问题,也避免了在修改的事务未提交前被其他事务读取的脏读问题。

页锁:

页级锁是MySQL中锁定粒度介于行级锁和表级锁中间的一种锁,表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折中的页级,一次锁定相邻的一组记录。特点:开销和加锁时间介于表锁和行锁之间,会出现思索:锁定粒度介于表锁和行锁之间,并发度一般。

间隙锁:

是属于行锁的一种,间隙锁是在事务加锁后其锁住的是表记录的某一个区间,当表的相邻ID之间出现空隙会形成一个区间,遵循左开右闭原则。范围查询并且查询未命中记录,查询条件必须命中索引、间隙锁只会出现重复度的事务级别中。

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

相关文章:

  • 基于 JNI + Rust 实现一种高性能 Excel 导出方案(下篇)
  • 关于Python程序消费Kafka消息不稳定问题的处理方法
  • 【OpenCV】Canny边缘检测
  • 算法-二进制和位运算
  • OpenAI Chatgpt 大语言模型
  • SpringBoot【九】mybatis-plus之自定义sql零基础教学!
  • C#,人工智能,深度学习,目标检测,OpenCV级联分类器数据集的制作与《层级分类器一键生成器》源代码
  • 调度系统:Luigi 的主要特性和功能
  • C# 探险之旅:第二节 - 定义变量与变量赋值
  • AUTOSAR:SOME/IP 概念
  • 循序渐进kubenetes Service(Cluster ip、Nodeport、Loadbalancer)
  • 深入理解 Apache Shiro:安全框架全解析
  • mac 安装CosyVoice (cpu版本)
  • 币安移除铭文市场的深度解读:背后原因及其对区块链行业的影响
  • 深度学习实战野生动物识别
  • windows安装使用conda
  • 手机租赁系统开发全流程解析与实用指南
  • SpringBoot 开发—— YAML文件深度分析
  • 复合机器人整体解决方案
  • 【Oracle11g SQL详解】日期和时间函数:SYSDATE、TO_DATE、TO_CHAR 等
  • VSCode设置字体
  • shell编程入门之提取字符并设置rtc时间
  • react 不可变数据更新(Immutable Update)合并对象 类似与Java 的BeanUtils.copyProperties‌
  • Linux GCC基础用法⑦
  • PyTorch 切片运算 (Slice Operator)
  • SpringSecurity Oauth2 -账号密码实现多因子身份认证
  • 【CSS in Depth 2 精译_071】11.4 思考字体颜色的对比效果 + 11.5 本章小结
  • Y3编辑器文档4:触发器1(对话、装备、特效、行为树、排行榜、不同步问题)
  • 趣味编程:猜拳小游戏
  • 软件工程 概述