bleer

欢迎你来到我的空间哦~

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

 

1.事务隔离级别:

一共4种

read uncommitted

read committed

repeatable read

serializable

 

关于各种隔离级别的理解:

https://www.cnblogs.com/rjzheng/p/9955395.html

https://baijiahao.baidu.com/s?id=1611918898724887602&wfr=spider&for=pc

 

自己的理解:

read uncommitted:  事务a读取到了事务b未提交的改动,脏读

read committed:事务a读取到了事务b提交后的改动

repeatable read:事务a从头到尾查询结果一致,即便事务b做了改动甚至提交了。

serializable:事务a所有动作执行完后,事务b才能执行,否则事务b的语句会hung住。

 

补充说明,幻读可以通俗理解为,事务b提交之前,事务a读取到n条数据,但是事务b提交之后,事务a读取到非n条数据。

幻读和repeatable read不是一回事。repeatable read是对读取的事务加锁,所以在其他事务改动之后,加锁的数据行不变。当时不加锁的数据行可能会改变。因此repeatable read保不齐会发生幻读。

 

总结

隔离级别 脏读 不可重复读 幻读
read uncommitted  是
read committed  是
repeatable read  是
serializable  否

 

 

 

 

查看隔离级别的命令

select @@tx_isolation;

修改隔离级别

set session transaction isolation level    (read uncommitted /  read committed /  repeatable read / serialized read )

 

posted on 2020-05-18 15:32  bleer  阅读(139)  评论(0编辑  收藏  举报