MySql学习笔记(ACID、隔离级别)

ACID

原子行(atomicity)

一个事务中的所有操作要么全成功,要么全部失败回滚

一致性(consistency)

从一个一致性状态转到另一个一致性的状态
在事务执行过程中出现系统崩溃等状态,表中信息也不会有所改变,因为没有被提交

隔离性(isolation)

当一个事务所做的修改在最终提交以前,对其他事务是不可见的。

持久性(durability)

当事务一旦被提交,就会永久的保存在数据库中

隔离级别

READ UNCOMMITTED(未提交读/脏读)

在该级别中,对事务中的内容进行修改,即使是没有提交,对其他事务也都是可见的,这样会出现脏读的情况

READ COMMITTED(提交读/不可重复读)

一个事务开始时,只能“看见”已经提交的事务所做的修改
例如一个事务A开始读某一个表是一条数据,另一个事务B对这个表增加一条数据,并且提交。这时事务A再查找会发现两条数据。那么第一个事务A两次读到的的数据可能是不一样的,因此称为是不可重复读

REPEATABLE READ(可重复读)

该级别保证了在同一个事务中多次读取同样记录的结果是一致的

SERIALIZABLE(可串行化)

最高级别,通过强制事务串行执行,避免了幻读,会在读取的每一行数据上都加锁,所以可能导致大量的超时和锁争用问题

隔离级别脏读可能性不可重复读可能性幻读可能性加锁读
READ UNCOMMITTEDyesyesyesno
READ COMMITTEDnoyesyesno
REPEATABLE READnonoyesno
SERIALIZABLEnononoyes
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值