事务的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以及事务的隔离级别的主要内容,如果未能解决你的问题,请参考以下文章