码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MySQL锁


    锁的种类

    • 共享锁
      简称S锁,例如:在事物要读取一条记录时,需要先获取该记录的S锁。
    select ... lock in share mode;
    ##给t表添加读锁
    LOCK TABLES t READ;
    
    • 1
    • 2
    • 3
    • 独占锁
      也称排它锁,简称X锁。例如:在事物要改动一条记录(删除和修改)时,需要先获取该记录的X锁。
    select ... for update;
    ##给t表添加写锁
    LOCK TABLES t WRITE;
    
    • 1
    • 2
    • 3
    • 意向共享锁
      简称IS锁,当事务准备在记录上加S锁式,需要现在表级别加一个IS锁。意义:快速判断(不用循环遍历)表中是否有记录添加S和X锁,
    • 意向独占锁
      简称IX锁,当事务准备在记录上加X锁式,需要现在表级别加一个IS锁。
    • AUTO-INC
      用于表中某列使用自增字段,再插入语句是就添加一个表级别的AUTO-INC锁。
    • AUTO_INCREMENT
      用于自增字段列获取自增数据。
    • GAP Lock
      间隙锁:也称“gap 锁”,用于防止插入幻影记录。 在事务期间读取(1-10)的记录中加锁(哪怕中间缺失4-5的记录),防止其他事务添加数据(添加了4-5的数据)。
    SELECT * FROM t WHERE c1 BETWEEN 1 and 10 FOR UPDATE;
    
    • 1
    • Next-Key Lock
      在gap锁的范围基础上添加了该条数据的范围

    • Insert Intention Lock
      一个事务在插入一条记录时需要判断插入位置是否已被背的事务加了gap锁。

    • 隐式锁
      MySQL自身在对插入或者修改的数据(没有显示的添加s、x锁)时进行加锁,防止其他事务进行脏读等。实现方式:判断当前记录的trx_id的值是否处于活跃事务阶段。

    锁的兼容性

    锁类型共享锁 S排他锁 X意向共享锁 IS意向排他锁 IX
    共享锁 S兼容冲突兼容冲突
    排他锁 X 冲突冲突冲突冲突
    意向共享锁 IS兼容冲突兼容兼容
    意向排他锁 IX冲突冲突兼容兼容
  • 相关阅读:
    java面试题及答案2020 大汇总
    bloaty
    我的创作纪念日
    Python基础与应用代码
    阿里云服务器地域和可用区查询表_地域可用区大全
    PCIe系列专题之二:2.8 事务排序机制
    AlterNats是如何做到高性能的发布订阅的?
    #你我都是国家队#,与泸州老窖一起为中国荣耀干杯
    大模型从入门到应用——LangChain:代理(Agents)-[工具(Tools):人工确认工具验证和Tools作为OpenAI函数]
    【机组组合】基于数据驱动的模型预测控制电力系统机组组合优化【IEEE24节点】(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/qq_27502511/article/details/131092421
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号