美文网首页DB
mysql表级锁

mysql表级锁

作者: sunpy | 来源:发表于2022-09-13 15:09 被阅读0次

InnoDB表锁 - 读锁(显示指定)


语句:

lock tabe 表名 read;

unlock table;

结论:

表级读锁/会话session 读操作 写操作
当前session 可以 报错
其他session 可以 阻塞等待

实验:

session1 session2
lock table edu_user read;
select * from edu_user; select * from edu_user;
update edu_user set username="张居正" where username = "张思德";
1099 - Table 'edu_user' was locked with a READ lock and can't be updated
阻塞:update edu_user set username="张居正" where username = "张思德";
unlock table;
执行:update edu_user set username="张居正" where username = "张思德";

说明:
当前session获取表级读锁后,不管是当前session还是其他session都只能读不能写。其他session如果想要写,那么会先阻塞,等表锁释放之后,会自动执行,但是不一定会成功,譬如主键冲突以及索引唯一等,写操作执行失败。

InnoDB表锁 - 写锁(显示指定)


语句:

lock tabe 表名 write;

unlock table;

结论:


表级写锁/会话session 读操作 写操作
当前session 可以 可以
其他session 阻塞等待 阻塞等待

实验:

session1 session2
lock table edu_user write;
select * from edu_user;
update edu_user set username="张居正" where username = "张思德";
阻塞:select * from edu_user;
阻塞:update edu_user set username = "杨树林" where username="杨幂";
unlock table;
执行:select * from edu_user;
执行:update edu_user set username = "杨树林" where username="杨幂";

说明:
当获取表锁write时,当前的session将可以进行读操作和写操作,其他session都将处于阻塞等待状态(不可以读也不可以写),其他session只有等当前表锁被释放才可以读写。

相关文章

  • MySQL锁篇

    1 MySQL锁介绍 2 MySQL表级锁 2.1 表级锁介绍 ​ 表级锁由SQL layer实现。M...

  • Mysql 锁详解

    Mysql 锁详解一、前言二、MyISAM2.1 MyISAM表锁2.2 查询表级锁争用情况2.3 MySQL表级...

  • MySQL学习笔记-死锁产生原因和解决方法

    Mysql 锁类型 一、锁类型介绍: MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出...

  • MySQL死锁产生原因和解决方法

    Mysql 锁类型 一、锁类型介绍: MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出...

  • Mysql并发时经典常见的死锁原因及解决方法

    1. mysql都有什么锁 MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁...

  • Mysql相关的锁

    MySQL行级锁、表级锁、页级锁详细介绍 页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以...

  • MySQL的锁机制

    锁的类型 MySQL的锁分为:行级锁、表级锁、页级锁 MyISAM 和 Memory 存储引擎使用的是表级锁 In...

  • MySQL 锁之二——表锁

    1、概述 MySQL 表级锁是以单个表为粒度的锁,InnoDB 和 MyISAM 引擎都支持表级锁; 2、表锁分类...

  • MySQL 锁原理通过 6 个死锁案例,让你彻底理解 MySQL

    Mysql 锁类型和加锁分析 MySQL有三种锁的级别:页级、表级、行级。 1、表级锁:开销小,加锁快;不会出现死...

  • MySQL的锁机制

    mysql的锁机制 1、MySQL锁的基本介绍 MyISAM:MySQL的表级锁有两种模式:表共享读锁(Table...

网友评论

    本文标题:mysql表级锁

    本文链接:https://www.haomeiwen.com/subject/ixlhortx.html