mysql 锁与事务的一些概念

Posted jimzbom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 锁与事务的一些概念相关的知识,希望对你有一定的参考价值。

mysql InnoDB引擎

共享锁(S) select ... lock in share mode, 加了共享锁的数据, 其它地方只能加共享锁, 不能加排他锁.

排他锁(X) select ...for update, update,delete,insert 都会自动给涉及到的数据加上排他锁, 加了排他锁的数据, 其它地方不能再加任何锁.

事务四个隔离级别
1.未提交读: 可以读未提交数据.
2.提交读: 只能读已提交的数据.
3.可重复读: 前后两次读取数据一致, 两种情况,一种, 开启事务, select出数据A,  数据A在其它地方被修, 再select出数据A, 这时两次数据是一样的,  二种, 开启事务, 修改出据A, select出数据A, 再修改数据A, select出数据A, 此时两次的数据都是第一次修改后的数据.
4.串行读: 串行化的读. 每次读都需要获得表级共享锁.

 

锁堵塞多数是事务没及时提交造成的

 

参考 Innodb中的事务隔离级别和锁的关系 

 

以上是关于mysql 锁与事务的一些概念的主要内容,如果未能解决你的问题,请参考以下文章

MySQL8-事务

SpringBoot 系列教程之事务隔离级别知识点小结

MySQL的一些基本概念

MySql中的一些概念,比如索引临时表事务

MySQL索引锁与事务

[数据库事务与锁]详解六: MySQL中的共享锁与排他锁