未提交读
A事务已执行,但未提交;B事务查询到A事务的更新后数据;A事务回滚;---出现脏数据
已提交读
A事务执行更新;B事务查询;A事务又执行更新;B事务再次查询时,前后两次数据不一致;---不可重复读
可重复读
A事务无论执行多少次,只要不提交,B事务查询值都不变;B事务仅查询已提交的数据
串行化
不允许读写并发操作,写执行时,读必须等待
隔离级别 脏读 不可重复读 幻读
未提交读(Read uncommitted) 可能 可能 可能
已提交读(Read committed) 不可能 可能 可能
可重复读(Repeatable read) 不可能 不可能 可能
可串行化(Serializable ) 不可能 不可能 不可能
一般默认为 可重复读(Repeatable read)
查看当前隔离级别
show global variables like '%isolation%'
设置当前个隔离级别
set global transaction_isolation ='read-committed'
网友评论