数据库事物与锁关系

1、什么是事物

事务就是把多件事情当做一件事情来处理。是数据库操作的最小单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元)。

2、为什么要有事物

事务的提出就是为了解决并发情况下保持数据一致性的问题。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

3、事物与锁关系概述

当多个线程操作同一个数据的时候根据不同线程或者事物的动作和时机不同会出现不同的并发问题,比如脏读,不可重复读,幻读,丢失更新等。而解决不同事物的并发问题的时候就需要根据上述不同的问题设置不同的隔离级别,而不同的隔离级别底层用的就是不同数据库锁机制,比如行锁、表锁、页锁、悲观锁、乐观锁等等。

4、事物隔离级别

尽管数据库为用户提供了所的DML操作方式,但是直接使用锁管理是非常麻烦的,因此数据库为用户提供了自动锁机制。只要用户指定了会话的事物隔离级别,数据库就会分析事物中的SQL语句,然后自动为事物操作的数据资源添加上合适的锁。

参考:

https://blog.csdn.net/ljj2312/article/details/78850878

https://www.jianshu.com/p/aa35c8703d61

https://www.jianshu.com/p/faba8a3a6d67

https://tech.meituan.com/2014/08/20/innodb-lock.html

你可能感兴趣的:(mysql)