并发事务问题以及设置隔离级别

并发事务问题

  脏读:一个事务读到另一个事务还没提交的数据。

--  例如B事务读取到了A事务还没提交的数据。

 

  不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读。

 

  幻读:一个事务按照条件查询数据时,没有对应的数据行,但是插入数据时,又发现这行数据已经存在,好像出现了一个幻影一样。

-- 大致流程A查询,B插入,A插入,报错,回滚,A查询.......

-- 通常在解决了不可重复读后出现

 

事务隔离级别

  脏读会不会出现 不可重复读会不会出现 幻读会不会出现

-- read uncommitted(读,未提交。性能最高,数据安全性最差) 会 会 会

-- read committed(读,已提交) 不会 会 会

-- repeatable read(mysql默认隔离级别,可重复读) 不会 不会 会

-- serializable(串行化。性能最差,数据安全性最高) 不会 不会 不会

 

查看事务隔离级别

-- select @@transaction_isolation;

select @@transaction_isolation;

 

设置事务隔离级别

-- set [session / global] transaction isolatian level {read uncommitted / read committed / repeatable read / serializable};

-- [session / global] 仅针对当前(会话)客户端有效/ 针对所有客户端有效

set session transaction isolation level repeatable read ;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值