数据库的隔离级别介绍
数据库的隔离级别介绍:
隔离级别的作用是能够保证多个线程同时操作一个数据时的正确性。
1.读未提交:当你修改或者增加了一个数据,没有进行提交导致的脏读,重复读,幻读等。
(备注:黑色窗口表示窗口一:白色窗口表示窗口二)
将事务设置为读未提交,然后开启事务。
这是事先建立的一个user表数据
然后对其进行更新操作,这是我们来看下窗口一和窗口二的数据。
可以明显发现两者的数据一致,这就是读未提交所造成的脏数据。
2.读已提交:这种隔离级别不会造成脏数据的出现,要等到提交后,别人才能读取到数据,但是不能解决不可重复读和幻读等问题。
然后在窗口一中,将隔离级别设置为读已提交。同时也需要开启事务,然后查看当前user表的数据。然后在窗口二中进行数据更新操作:
此时在窗口二中更新数据,这时候我们再来查看窗口一的user表数据。
只有当窗口二提交后(commit),窗口一的数据才能更新
同时重复读和序列读,可以依照这种类似的方法修改当前的事务隔离级别,来了解其中大概的流程。(叙述的可能不太清楚,动手操作一遍就清晰了。)