脏读,不可重复读,幻读

脏读,不可重复读,幻读

Scroll Down

脏读

正在执行的事务 读取到其他事物未提交的数据

不可重复读

正在执行的事务 读取到了其他事务的修改

幻读

正在执行的事务 读取倒了其他事务已提交的插入

隔离级别脏读不可重复读幻读
未提交读可能可能可能
提交读不可能可能可能
可重复读不可能不可能可能
可串行化不可能不可能不可能

未提交读

A事务B事务
开始事务开始事务
查询小明年龄是30岁
查询用户列表 共100条数据
查询用户列表 共100条数据
修改小明的年龄为20岁
添加50个用户
查询小明的年龄20岁
查询用户列表150条数据
提交事务提交事务

提交读

A事务B事务
开始事务开始事务
查询小明年龄30岁
查询用户列表100条数据
查询用户列表100条数据
修改小明的年龄20岁
添加50个用户
提交事务
查询小明的年龄20岁
查询用户列表150条数据
提交事务

可重复读

A事务B事务
开始事务开始事务
查询小明年龄30岁
查询用户列表100条数据
查询用户列表100条数据
修改小明的年龄20岁
添加50个用户
提交事务
查询小明的年龄30岁
查询用户列表150条数据
提交事务

可串行化

A事务B事务
开始事务
查询小明年龄30岁
查询用户列表100条数据
查询小明年龄30岁
查询用户列表100条数据
提交事务
开始事务
修改小明的年龄为20岁
添加50个用户
提交事务