mysql的事务四个特性以及事务的四种隔离级别

一、事务的四个特征

1、原子性(Atomicity)

原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。

2、一致性(Consistency)

一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。

3、隔离性(Isolation)

隔离性是当多个用户并发访问数据库时,比如同时操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。

4、持久性(Durability)

持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的。

 

、事务的并发问题

1、脏读:事务A读取到事务B已经修改但尚未提交但数据,如果事务B回滚,则事务A读取的为脏数据。不符合一致性。

2、不可重复读:事务A多次读取同一数据,事务B在事务A多次读取的过程中,对数据做了修改并提交,导致事务A多次

读取同一数据时,结果不一致。不符合隔离性。

3、幻读:事务A读取到事务B提交的新增或删除后的数据。不符合隔离性。

注意:不可重复读的和幻读很容易混淆,不可重复读侧重于修改,幻读侧重于新增或删除。

 

三、事务的隔离级别

隔离级别脏读不可重复读幻读
未提交读(Read uncommitted)NoNoNo
已提交读(Read committed)YesNoNo
可重复读(Repeatable read)InnoDB默认级别YesYesNo
可串行化(Serializable )YesYesYes
##################################################################

                                                                                                                                     Yes:解决          No:未解决

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值