欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mysql之锁机制(表锁,行锁,间隙锁)详解

程序员文章站 2022-06-19 15:18:14
1. 锁定义:2. 锁分类2.1 对数据的操作类型分类2.2 对数据的操作粒度分类对数据的操作粒度分类:表锁和行锁2.2.1 表锁1. 特点2. 加读锁:3. 加写锁4. 结论5. 表锁的分析2.2.2 行锁1. 特点:InnoDB和MyISAM的不同:2. 事务ACID:3. 并发事务带来的问题4. 事务的隔离级别5. sql演示6. 索引失效会导致行锁变表锁正常来说一个更新41,一个更新9记录,是互不影响,但是...

1. 锁定义:

Mysql之锁机制(表锁,行锁,间隙锁)详解

2. 锁分类

2.1 对数据的操作类型分类

Mysql之锁机制(表锁,行锁,间隙锁)详解

2.2 对数据的操作粒度分类

对数据的操作粒度分类:表锁和行锁

2.2.1 表锁

1. 特点

Mysql之锁机制(表锁,行锁,间隙锁)详解

2. 加读锁:

Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解

3. 加写锁

Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解

4. 结论

Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解

5. 表锁的分析

Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解

2.2.2 行锁

1. 特点:

Mysql之锁机制(表锁,行锁,间隙锁)详解
InnoDB和MyISAM的不同:
Mysql之锁机制(表锁,行锁,间隙锁)详解

2. 事务ACID:

Mysql之锁机制(表锁,行锁,间隙锁)详解

3. 并发事务带来的问题

Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解

4. 事务的隔离级别

Mysql之锁机制(表锁,行锁,间隙锁)详解

5. sql演示

Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解

6. 索引失效会导致行锁变表锁

正常来说一个更新41,一个更新9记录,是互不影响,但是session-1窗口b=4000
未加‘’号,因为b是varchar类型,导致索引失效,行锁上升为表锁,导致session-2窗口会一直阻塞。
Mysql之锁机制(表锁,行锁,间隙锁)详解

7. 间隙锁危

例子

Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解

Mysql之锁机制(表锁,行锁,间隙锁)详解
Mysql之锁机制(表锁,行锁,间隙锁)详解

8. 如何锁定一行?

Mysql之锁机制(表锁,行锁,间隙锁)详解

9. 结论

Mysql之锁机制(表锁,行锁,间隙锁)详解

10. 行锁分析

show status like 'innodb_row_lock%'

Mysql之锁机制(表锁,行锁,间隙锁)详解

Mysql之锁机制(表锁,行锁,间隙锁)详解

本文地址:https://blog.csdn.net/qq_41583016/article/details/112646893

相关标签: Mysql