事务的ACID以及事务的隔离级别

Posted frank9571

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事务的ACID以及事务的隔离级别相关的知识,希望对你有一定的参考价值。

1.事务

事务是数据库操作的基本单位,只有mysql使用innodb引擎才能使用事务;

2.事务的基本特性

原子性A:一个事务中的线程要么全部执行,要么全部不执行 ;

隔离性I:事务之间相互不干扰;

一致性C:数据库执行执行前是一个状态,执行后是另外一个状态;

持久性D:事务执行后无法回滚;

3.事务的隔离级别

未提交读:脏读现象,事务A读取到事务B未提交的数据;

已提交读:不可重复读现象,解决了脏读现象,在一个事务先读取一遍,然后另外一个事务对你读取的数据进行update操作,所以读取前后是两个不同的数据;

可重复读:解决不可重复度现象,幻读现象,事务A查询数据库之后得到的数据,事务B出现改变了数据库,增加了许多符合事务A查询条件的数据,导致事务A读取第二次读取出更多的数据;

串行化:解决所有问题,进行数据操作是不允许其他事务进行对这个数据的任何操作,sync锁;

以上是关于事务的ACID以及事务的隔离级别的主要内容,如果未能解决你的问题,请参考以下文章

数据库事务事务隔离级别以及锁机制详解

java笔记 事务以及事务的隔离级别

oracle学习笔记 事务ACID及隔离级别

数据库事务的ACID及隔离级别

MySQL事务的隔离级别和ACID

Mysql事务隔离级别及ACID实现原理