【MySQL】锁

MySQL学习笔记,来源黑马程序员MySQL教程

文章目录

  • 概述
  • 全局锁
    • 演示
    • 特点
  • 表级锁
    • 表锁
    • 元数据锁
    • 意向锁
  • 行级锁
    • 行锁
    • 间隙锁/临键锁

概述

在这里插入图片描述
【MySQL】锁_第1张图片

全局锁

【MySQL】锁_第2张图片

  • 防止表级锁出现:一个表已经保存后,和它相关联的表数据变动,导致整体的数据不一致情况。

【MySQL】锁_第3张图片

演示

【MySQL】锁_第4张图片

特点

【MySQL】锁_第5张图片

  • single-transaction 在底层是通过快照读来实现的。

表级锁

【MySQL】锁_第6张图片

表锁

【MySQL】锁_第7张图片

  • 读锁:当前客户端可读不可写,其他客户端可读不可写
  • 写锁:当前客户端可读可写,其他客户端不可读不可写

元数据锁

【MySQL】锁_第8张图片

意向锁

【MySQL】锁_第9张图片

  • 已经对表添加了行锁,若没有解锁就要添加新的表锁,发生锁冲突。
  • 此时若要添加表锁,系统需要对整个表的所有行都检查一遍是否加了锁,效率极低。
  • 使用意向锁之后,根据意向锁以及意向锁的类型来决定表锁是否可以添加成功。

【MySQL】锁_第10张图片

行级锁

【MySQL】锁_第11张图片

行锁

【MySQL】锁_第12张图片
【MySQL】锁_第13张图片
【MySQL】锁_第14张图片

间隙锁/临键锁

【MySQL】锁_第15张图片

你可能感兴趣的:(MySQL,mysql,数据库,java)