mysql两个修改事务相互阻塞_老话题:数据库隔离级别,大神略过

0818b9ca8b590ca3270a3433284dd417.png

注意的是 mysql的默认隔离级别是 repeatable-read ,并且不会出现虚读

脏读:是指读到了另一事务在更改之后因为数据库回滚没提交的数据,所以是脏数据,这种情况是由于设置为读可提交数据引起的

重复读:是指在同一个事务内多次读到了另一个事务修改的提交的数据,导致数据不同

幻读或者虚读:是指在同一个事务内多次读到另一个事务以插入或删除的提交的数据

第二类丢失更新:第一次更新数据把第二次更新的数据给更新掉了,在个隔离级别为repeatable-read的时候不会出现,两个事务可以同事查到一个数据,然后更新,更新会相互阻塞,如果有一个事务在更新这条数据,则另一个事务会等这个事务执行完,然后在用新的数据的基础上作修改,mysql的措施是,如果在同一个事务里面select同一条,最先commit的update的才会受影响,随后跟上来的所有update都 0 rows affected

在配置文件里做修改

#可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.

transaction-isolation = READ-COMMITTED

1.查看当前会话隔离级别

select @@tx_isolation;

2.查看系统当前隔离级别

select @@global.tx_isolation;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值