oracle 事务隔离级别分为4种,下面从最低级别介绍到最高级别
-
Read uncommitted(读取未提交的数据)
事务A开始写入insert一条数据但是未提交,此时事务B读取这表数据读到事务A写入的数据,但是此时事务A回滚了数据,此时呢B相当于读到了垃圾数据 -
Read committed(读取提交的数据)
事务A查询某表数据时,事务B马上删除表中数据,此时事务A在去查询表中数据时,发现表中数据已经被删除,虽然避免了Read uncommitted,但是却不可重复读,(大部分数据库是默认的此级别事务隔离Sql Server , Oracle) -
.Repeatable read(可重复读取)
比如说事务A正在读取表中数据,相当于锁表,但是呢锁表只相当于事务B不能去更新数据,却可以新增数据,当事务B提交新增数据后,事务A再次查询就会多出几条数据。(mysql默认是此级别)
4.SERIALIZABLE(序列化)
就是事务A在锁表时,我不允许任何事务在我事务A没操作完前去操作