zl程序教程

您现在的位置是:首页 >  其它

当前栏目

MYSQL8的锁机制

机制 mysql8
2023-09-14 09:09:32 时间

概述

image.png
相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制,下表中罗列出了各存储引擎对锁的支持情况。
image.png

存储引擎表级锁行级锁
MyISAM支持不支持
InonDB支持支持
MEMORY支持不支持
BDB支持不支持

image.png


从对数据操作的颗粒度分:

  1. 表锁:操作时,会锁定整张表。
  2. 行锁:操作时,会锁定当前操作行。

从对数据操作的类型分:

  1. 读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。
  2. 写锁(排它锁):当前操作没有完成之前,它会阻断其他写锁和读锁。

行锁

行锁:操作时,会锁定当前操作行。
image.png

image.png

image.png


表锁

表锁:操作时,会锁定整张表。
image.png

在这里插入图片描述


MyISAM引擎只支持表锁:

  • 对表设读锁之后,不能写表,不能再读别的表。
  • 对表设写锁后,在没释放表写锁前,,读该表会挂起。—写锁是独享锁,表写锁只能加一个

inondb引擎支持表锁行锁:

  • 删改查操作,inondb会自动加排他锁
  • 对行加锁后,修改行的过程中无法对该行写操作
  • 不影响其他行写入
  • 不影响读

inondb引擎删改查操作自动加锁过程:

默认对当前会话有效,不约束其他会话。
image.png