事务隔离

1.事务并发处理可能存在的三种异常有哪些?什么时脏读、不可重复读和幻读?
(1)脏读,小张访问数据库,进行事务操作,新增了一条数据,还没来得急提交,这时候小李对数据库进行了访问,读到了小张还没有来得急提交的数据。也就是读到了其他事务还没有提交的数据
(2)不可重复读,小张进行一次查询后,小李刚好修改了小张上次查询的数据,小张再次查询的时候发现不一样了,也就是同一条记录,两次读取的结果不同。这是因为有其他事务对这个数据同时进行了修改或删除
(3)幻读,小张查询数据记录,发现有三条数据,小张执行完后,小李又提交了一个事务,小张又一次查询,发现有四条数据。事务A根据条件查询得到了N条数据,但此时事务B更改或者增加了M条符合事务A查询条件的数据,这样当事务A再次进行查询的时候发现会有N+M条数据。
2.针对可能存在的异常情况,四种事务隔离的级别分别是什么?
在这里插入图片描述
(1)读未提交:也就是读到未提交的数据,这种情况下不会使用锁,肯能会出现脏读、不可重复读、幻读等情况。
(2)读以提交:只能读到已经提交的内容
(3)可重复读:保证一个事务在相同查询条件下两次查询得到的数据结果是一致的。MySQL默认的隔离级别就是可重复读。
(4)可串行化:将事务进行串行化,也就是在一个队列中按照顺序执行,可串行化是最高隔离级别,可以解决事务读取中所有可能出现的异常情况,但是它牺牲了系统的并发性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值