高级篇——锁(事务的隔离性)

概述

mysql并发事务访问相同记录的几种情况

在这里插入图片描述\

并发事务问题解决方案

在这里插入图片描述

mysql的各种锁

总览

1从数据操作类型的划分:读锁 写锁 其实直接叫 共享锁 和 排他锁 更好

在这里插入图片描述

在这里插入图片描述

2从数据操作的粒度划分:表级锁、页级锁、行锁

在这里插入图片描述

表锁——S X

在这里插入图片描述
在这里插入图片描述

表锁——意向锁(等于是加在S X的上一级的锁 为了避免一行一行的去看是否有SX锁 直接在行锁的上一级加意向锁 )

![在这里插入图片描述](https://img-blog.csdnimg.cn/122f6e037dfb422ab1ef792452b9594e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAS2FhYWFrYWtp,size_20,color_FFFFFF,t_70,g_se,x_16

表锁——自增锁 元数据锁

在这里插入图片描述
在这里插入图片描述

行锁

在这里插入图片描述

行锁——临键锁(就是记录锁和间隙锁的合体)

在这里插入图片描述

页锁

在这里插入图片描述

3从对待锁的态度划分:乐观锁、悲观锁

在这里插入图片描述

在这里插入图片描述

4 按加锁的方式划分:显式锁、隐式锁

在这里插入图片描述
在这里插入图片描述

其他锁

全局锁

在这里插入图片描述

死锁

在这里插入图片描述

如何避免死锁

在这里插入图片描述


版权声明:本文为Kaaaakaki原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。