1.read uncommited
导致脏读
脏读:当一个事务对某项数据进行了改变后,未进行提交时,另一个事物读取未提交的数据,这时候第一个事物进行回滚,那么第二个事物读取到的就是脏数据
2.read commited (Sql Server、Oracle的默认隔离级别)
一个事务要等另一个事物提交后才能读取数据
允许不可重复读
不可重复读:一个事务进行两次读操作,在两次读操作之间另一个事物对数据进行了修改,第一个事务两次读取的数据不一致
3.repeatable read (mysql的默认隔离级别)
重复读,开始读取数据时,不再允许修改操作
允许幻读
幻读:一个事务对一定范围内的数据进行了批量修改,第二个事务在这个范围内添加了一条数据,这时候第一条数据就丢失了对新增数据的修改
4.serializable
事务串行化顺序执行,避免了脏读、幻读、不可重复读