设置隔离级别要解决的问题
1、更新丢失
多个事务并发执行,事务和事务之间不知道彼此的存在,后提交的的事务覆盖了前面提交的事务的数据,导致数据的更新丢失。
2、脏读
事务A读取到了事务B已经修改,但是尚未提交的数据,事务A再对读取到数据做了计算后,提交保存, 而事务B因为错误事务要回滚了,这是事务A读取的数据就是错误,导致数据的一致性要求没有满足。
3、不可重复读
事务A读取了一些数据,一段时间后再去读取这些数据,发现读取的数据发生了改变,或者某些数据被删除,出现这种显现就是“不可重复读”;
同一事务中,同一查询在不同的时间查询的结果不一致,不满足事务的隔离性。
4、幻读
事务A读取到了其他事务提交的新增数据,不符合隔离性。
隔离级别
1、读未提交
可能出现脏读、不可重复读、幻读显现
2、读已提交
可能出现不可重复读、幻读显现
3、可重复读
可能幻读显现
4、串行化
解决了脏读、不可重复读、幻读显现