脏读、幻读、不可重复度
1. 脏读
A事务读取B事务尚未提交的数据。事务B修改了数据但是没有提交,这时候事务A读取到事务B修改后的数据。如果事务B发生错误就会执行回滚操作把数据改为原来的值,那么事务A读取到的数据就是与数据库不一致的数据(脏数据),称为脏读。
例:转账与取款
2. 不可重复读
事务多次读取数据值不一致事务A第一读取之后,事务B修改了值,事务A再次读取值时与第一次读取的数值不一致,称为不可重复读。
例:读取年龄
3. 幻读
事务多次读取数据的总是不一致事务A第一读取数据总量之后,事务B新增或删除了数据,事务A再次读取数据总量与第一次读取的数据总量不一致,称为幻读。
例: 数据总量
注:
1.不可重复读的重点在修改,在同一事务中,同样的条件,第一次读取的数据和第二次读取的数据不一样(因为中间有其他事务提交了修改)
2.幻读的重点在删除和插入,在同一事务中,同样的条件,第一次读取的记录数第二次读取的记录数不一致(因为中间有其他事务提交了插入和删除操作)
参考:参考链接
如有错误,欢迎指正。