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


    原文网址:MySQL--行级锁与表级锁_IT利刃出鞘的博客-CSDN博客

    简介

    说明

    本文介绍MySQL的行级锁与表级锁。

    锁的类型

    锁类型

    死锁

    锁定粒度(并发性)

    适用场景

    表级锁

    不会死锁

    最大,发生锁冲突的概率最大(并发性低)

    场景1:读多写少;

    场景2:写特别多。若用行锁,会导致事务执行效率低,可能造成其他事务长时间锁等待和锁冲突。

    行级锁

    会死锁

    最小,发生锁冲突的概率最低(并发性最高)

    并发量大。

    页面锁

    会死锁

    居中,并发一般

    不同的存储引擎的锁机制

    存储引擎支持的锁说明
    InnoDB表级锁、行级锁(默认)。InnoDB行级锁基于索引实现。若查询字段无索引或索引失效,则使用表锁。
    MyISAM表级锁
    MEMORY表级锁
    BDB表级锁、页面锁

    行锁

    概述

    说明

    行锁只在InnoDB中。有两种锁:共享锁(Share Lock)(也称为:读锁)、独占锁(Exclusive Lock)。共享锁也称为:读锁;独占锁也称为:写锁。

    InnoDB实现了以下两种类型的行锁。意向锁是InnoDB自动加的,不需用户干预。

    • 共享锁(S):允许获得共享锁的事务去读一行,阻止其他事务获得相同数据集的排他锁。
    • 排他锁(X):允许获得排他锁的事务更新数据,阻止其他事务取得相同数据集的共享锁和排他锁。另外,为了允许行锁和表锁共存,实现多粒度锁机制,InnoDB还有两种内部使用的意向锁(Intention Locks),这两种意向锁都是表锁。
    • 意向共享锁(IS):事务打算给数据行加行共享锁,事务在给一个数据行加共享锁前必须先取得该表的IS锁。(Intention Share)
    • 意向排他锁(IX):事务打算给数据行加行排他锁,事务在给一个数据行加排他锁前必须先取得该表的IX锁。(Intention Exclusive)

    上述锁模式的兼容情况具体如下表所示。如果一个事务请求的锁模式与当前的锁兼容,InnoDB就将请求的锁授予该事务;反之,如果两者不兼容,该事务就要等待锁释放。

    上边只是部分内容,为便于维护,本文已迁移到此地址:MySQL-行级锁与表级锁 - 自学精灵

  • 相关阅读:
    【算法集训】基础算法:二分查找 | 概念篇
    【kernel exploit】CVE-2022-2588 Double-free 漏洞 DirtyCred 利用
    10分钟Apache Kylin快速入门
    揭秘如今市场上最火爆的三大商业模式,点进来看看有没有什么收获
    js遍历数组
    PHP将word文件转为图片预览
    论文解读(LightGCL)《LightGCL: Simple Yet Effective Graph Contrastive Learning for Recommendation》
    38、Java——汽车租赁系统(JDBC+MySQL+Apache DBUtils)
    【Flutter】如何优美地实现一个悬浮NavigationBar
    接口测试用例设计
  • 原文地址:https://blog.csdn.net/feiying0canglang/article/details/127114446
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号