二 最详细MySQL事务隔离级别及原理讲解!( 四 )


最严格的隔离级别,防止其他任何事务插入或更改此事务读取的数据,直到完成为止 。这样,可以在一个事务中一遍又一遍地运行相同的查询,并确保每次都检索相同的结果集 。自当前事务开始以来,任何尝试更改另一事务提交的数据的尝试都会导致当前事务等待 。
这个我就简单演示下,因为不会出现任何问题,但是效率也最低 。

二 最详细MySQL事务隔离级别及原理讲解!

文章插图
 
如图,执行串行读级别下,insert 发生阻塞,隔离级别最严格 。
锁机制:
1.事务在读取数据时,必须先对其加表级共享锁(注意这里是表级) ,直到事务结束才释放 。
2.事务在更新数据时,必须先对其加表级排他锁(注意这里是表级) ,直到事务结束才释放 。
总结到这里,我们之前的问题也有了答案 。
1.不同隔离级别解决怎样的问题:
隔离级别脏读不可重复读幻读读未提交发生发生发生读已提交?发生发生可重复读??可以在 next-key lock下解决
串行读???
2.脏读、不可重复读、幻读关系
二 最详细MySQL事务隔离级别及原理讲解!

文章插图
 
 

【二 最详细MySQL事务隔离级别及原理讲解!】


推荐阅读