mysql的隔离级别

坚持

有四种隔离级别,每个隔离级别都有对应问题,如 脏读、不可重复读、幻读

由低到高依次为Read uncommitted 读未提交 、Read committed 读已提交、Repeatable read 重复读、Serializable串行化 ,

这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。

1.脏读
一个事物正在访问数据,并对数据做了修改,修改完数据还没有提交到数据库中,另一个事物开始读这个数据,读到了修改后的数据,这就是脏读。

2.不可重复读

一个事物修改了数据,修改完的数据还没有提交到数据库中,事物2访问不到修改后的数据,当事物1提交了本次事物,事物2就可以访问到数据,因此在事物2 中第一次访问的数据是修改之前的数据,访问第一次之前的数据后 事物2 再次访问修改后的数据就会访问到事物1修改后的数据,在事物2中对同一个数据的两次操作结果不同,即不可重复读。

3.幻读

幻读指的是一个事务在前后两次查询同一个范围的时候,后一次查询看到了前一次查询没有看到的行。事物1 第一次查询完,事物2插入了新的一行,事物1 第二次查询就会多查询到这一行,这就是幻读。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章