数据库的隔离级别介绍

数据库的隔离级别介绍:

数据库的隔离级别介绍_第1张图片

隔离级别的作用是能够保证多个线程同时操作一个数据时的正确性。


1.读未提交:当你修改或者增加了一个数据,没有进行提交导致的脏读,重复读,幻读等。

(备注:黑色窗口表示窗口一:白色窗口表示窗口二)

数据库的隔离级别介绍_第2张图片

事务设置为读未提交,然后开启事务。

这是事先建立的一个user表数据

然后对其进行更新操作,这是我们来看下窗口一和窗口二的数据。

数据库的隔离级别介绍_第3张图片

数据库的隔离级别介绍_第4张图片

可以明显发现两者的数据一致,这就是读未提交所造成的脏数据。


2.读已提交:这种隔离级别不会造成脏数据的出现,要等到提交后,别人才能读取到数据, 但是不能解决不可重复读和幻读等问题。

然后在窗口一中,将隔离级别设置为读已提交。时也需要开启事务,然后查看当前user 表的数据。然后在窗口二中进行数据更新操作:

数据库的隔离级别介绍_第5张图片



 


此时在窗口二中更新数据,这时候我们再来查看窗口一的user表数据。



只有当窗口二提交后(commit),窗口一的数据才能更新

数据库的隔离级别介绍_第6张图片

同时重复读和序列读,可以依照这种类似的方法修改当前的事务隔离级别,来了解其中大概的流程。(叙述的可能不太清楚,动手操作一遍就清晰了。

你可能感兴趣的:(数据库,事务,事务隔离级别)