首页 > 其他分享 >msyql 锁的分类

msyql 锁的分类

时间:2023-05-05 21:33:19浏览次数:35  
标签:加锁 1.1 行锁 分类 msyql 1.3 SQL 维度

1. 以锁的粒度维度划分:

1.1 表锁

1.1.1 全局锁:加上全局锁之后,整个数据库只能允许读,不允许做任何写操作。

1.1.2 元数据锁/MDL锁:基于表的元数据加锁,加锁后整张表不允许其他事务操作。

1.1.3 意向锁:是InnoDB为了支持多粒度的锁,为了兼容行锁、表锁设计的,如给一条数据加了行锁,此时要加表锁,为了方便判断,在加行锁时设置了表级别的意向锁,加快判断速度。

1.1.4 自增锁/AUTO-INC锁:为了提升自增ID的并发插入性能而设计的

1.2 页面锁

1.3 行锁

1.3.1 记录锁/record锁:也就是行锁,一条记录和一行数据是同一个意思。

1.3.2 间隙锁/Gap锁:InnoDB 中解决幻读问题的一种锁机制。

1.3.3 临建锁/Next-Key锁:间隙锁的升级版,同时具备记录锁+间隙锁的功能。

2. 以互斥性的维度划分:

2.1 共享锁/s锁:不同事务之间不会相互排斥、可以同时获取的锁。

2.2 排他锁/x锁:不同事务之间会相互排斥、同时只能允许一个事务获取的锁。

2.3 共享排他锁/SX锁:MySQL 5.7中新引入的锁,主要解决SMO带来的问题。

3. 以操作类型的维度划分:

3.1 读锁:查询数据时使用的锁

3.2 写锁:执行插入、删除、修改、DDL语句时使用的锁。

4. 以加锁方式的维度划分:

4.1 显示锁:编写SQL语句时,手动指定加锁的粒度。

4.2 隐式锁:执行SQL语句时,根据隔离级别自动为SQL操作加锁。

5. 以思想的维度划分:

5.1 乐观锁:每次执行前认为自己会成功,因此先尝试执行,失败时再获取锁。

5.2 悲观锁:每次执行前都认为自己无法成功,因此会先获取锁,然后再执行。

标签:加锁,1.1,行锁,分类,msyql,1.3,SQL,维度
From: https://www.cnblogs.com/wanthune1/p/17375426.html

相关文章

  • java基于springboot+vue的垃圾分类管理系统,附源码+文档+PPT+数据库
    1、项目介绍垃圾分类网站的主要使用者分为管理员和用户、垃圾分类管理员,实现功能包括管理员:首页、个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃圾类型管理、垃圾图谱管理、系统管理,垃圾分类管理员;首页、个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃......
  • [Python]-sklearn模块-机器学习Python入门《Python机器学习手册》-05-处理分类数据
    《Python机器学习手册——从数据预处理到深度学习》这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习中python常用的这些库有更深入的理解,在应用中也能更为熟练。以下是根据书上的代码进行实操,注释......
  • OpenCV3训练人脸检测分类器生成XML文件的过程
    原文:https://www.bilibili.com/read/cv10624306/OpenCV训练自己的分类器注:本文写的是一个训练人脸分类器的例子,亲自试验过,采用的是openCV3.41.准备训练样本看网上说正负样本比例为1:3最佳;尺寸为20x20最佳附上人脸训练的数据集的下载链接:https://pan.baidu.com/s/1AxoIMFycfpeIMtD......
  • sklearn.metrics.precision_recall_curve—计算不同概率阈值的精确召回对(仅限于二分类
    参考:https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_curve.html在分类模型的性能评估指标总结章节中,提到的Precision-Recall曲线可通过sklearn库中的precision_recall_curve函数计算而得。语法格式sklearn.metrics.precision_recall_cu......
  • sklearn.metrics.confusion_matrix—计算混淆矩阵来评估分类的准确性
    在分类模型的性能评估指标总结中,已讲过混淆矩阵形式,接下来将介绍如何通过sklearn库中的confusion_matrix函数快速获得混淆矩阵。语法格式sklearn.metrics.confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None)参数解释:y_true:真实标......
  • 基于深度神经网络的图像分类与训练系统(MATLAB GUI版,代码+图文详解)
    摘要:本博客详细介绍了基于深度神经网络的图像分类与训练系统的MATLAB实现代码,包括GUI界面和数据集,可选择模型进行图片分类,支持一键训练神经网络。首先介绍了基于GoogleNet、ResNet进行图像分类的背景、意义,系统研究现状及相关算法。然后展示了系统的界面演示效果,包括选择图片分......
  • 基于核极限学习机(KELM)分类 -附代码
    基于核极限学习机(KELM)分类文章目录基于核极限学习机(KELM)分类1.极限学习机原理概述2.ELM学习算法3.KELM理论基础4.分类问题5.测试结果6.Matlab代码摘要:本文利用核极限学习机进行优化,并用于分类1.极限学习机原理概述典型的单隐含层前馈神经网络结构如图1所示,由输入层、隐含......
  • 基于麻雀算法优化的核极限学习机(KELM)分类算法 - 附代码
    基于麻雀算法优化的核极限学习机(KELM)分类算法文章目录基于麻雀算法优化的核极限学习机(KELM)分类算法1.KELM理论基础2.分类问题3.基于麻雀搜索算法优化的KELM4.测试结果5.Matlab代码摘要:本文利用麻雀搜索算法对核极限学习机(KELM)进行优化,并用于分类1.KELM理论基础核极限学习......
  • 百度飞桨工程部署,一手教你快速部署百度飞桨C++工程落地,包含飞桨OCR文字检测识别、飞桨
    百度飞桨工程部署,一手教你快速部署百度飞桨C++工程落地,包含飞桨OCR文字检测识别、飞桨图片分类、飞桨图片检测,直接调用飞桨模型库,配合tensorRT模型加速库进行前向运算,可以直接按照我的cmake内容将代码移植到实际落地项目中。经验证在x86工控机和边缘端nano、Xavier等ARM设备......
  • 自动驾驶图像分类,基于HRnet从训练工程到tensorRT工程部署Demo闭环一套,包含训练工程及
    自动驾驶图像分类,基于HRnet从训练工程到tensorRT工程部署Demo闭环一套,包含训练工程及部署工程,和环境的配置说明,已在实际项目中使用。大厂自动驾驶工程师沉淀资料是一线自动驾驶工程师辛苦工作的结果ID:5150672485127196......