MySQL事务隔离级别

ACID
  • 原子性(A):事务必须是一个原子的操作,事务中包含的各项操作在一次执行过程中,要么都发生,要么都不发生
  • 一致性©:一个事务在执行之前和执行之后,数据库都必须处以一致性状态
  • 隔离性(I):在并发场景中,每个事务之间是互相隔离、互相独立的,一个事务的执行不能被其它事务干扰
  • 持久性(D):事务一旦提交后,数据库中的数据必须被永久的保存下来
事务隔离产生的问题
事务隔离级别
未提交读(RU:read uncommintted)
  • 事务中的修改操作,即使是没有提交,对其他事务也是可见的
  • 脏读:事务B读到了事务A未提交的数据
已提交读/不可重复读(RC: read committed)
  • 一个事务从开始到提交之前,所做的所有的修改操作对其他事务都是不可见的。
  • 也可叫做不可重复读,即:事务A在执行过程中读取到了事务B提交的数据,即:事务A中两次相同的查询操作,返回的结果不一致。
可重复读
  • 保证事务在执行过程中的多次相同操作的读取结果都是一致的
  • MySQL的默认隔离级别
  • 会有幻读的问题;幻读:事务A对表中某个范围内数据进行修改,事务B在该范围内新增数据,当事务A再次读取该范围内的记录时,会产生幻行
可串行化
  • 对事务影响到的行都进行加锁,强制串行执行
隔离级别脏读不可重复读幻读加锁读
未提交读×
已提交读××
可重复读×××
可串行化×××
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值