一、简介
数据库里的事务就相当于程序里的一个线程代码块,会有并发执行的可能,数据库归纳出事物的隔离级别去共享资源。
事务的隔离级别有四种,分别是:
-
read uncommited未提交读
-
read commited提交读
-
repeatable read可重复读
-
serialzable.可串行
二、图释
以下将用图例来解释:
1.未提交读
即在事务未执行commit语句前的写(增删改)操作,都会直接影响到表数据,其他事务去读取时就会出现脏读。脏读,即读取了不实际的数据,或者是中间数据:
2.提交读
即A事务执行commit之后写操作对实际数据生效。B,C…事务在A事务commit之前读取的数据任然是旧数据,直到A事务commit。
3.可重复读
其他事物在自己的commit之前读取的数据都是一致的。如此避免了上面两种级别的脏读问题。但还会存在幻读。