事务隔离

  1. 事务的并发问题
    1、脏读
    所谓脏读,就是一个事务读到了别的事务回滚前的脏数据,比如事务B执行过程中修改了数据X,在未提交前(即未保存到数据库前),事务A读取了X,而事务B却回滚了,这样事务A就形成了脏读。
    2、不可重复读
    所谓不可重复读,就是指在一个事务多次读取同一数据,读出来的数据不一致。比如库存数为100,事务A读取库存数为100,切换到事务B事务B开启事务–>事务B减库存50–>提交,数据库里面库存变为50元,此时切换回事务A,事务A再查一次查出库存为50,这样对事务A而言,在同一个事务内两次读取账户余额数据不一致,这就是不可重复读。
    3、幻读
    比如系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。
  • 不可重复读注重的是数据数值发生变化,幻读侧重数据条数发生变化.
  1. 事务隔离级别
隔离级别脏读不可重复读幻读加锁读
Read Uncommitted(读取未提交内容)
Read Committed(读取提交内容)
Repeatable Read(可重复读)
Serializable(可串行化)

解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值