事务隔离级别小结

238 阅读1分钟
1.事务操作出现的问题有:脏读,不可重复读,幻读
2.事务隔离级别:读未提交,读提交,可重复读,序列化(串行化)


解决的问题
隔离级别
脏读(读到另一个事物未提交的数据)
不可重复读(事务两次查询的结果不一样)
幻读(a在更新的时候,另一个事物插入一条这种更新的数据,导致a事务再次查询的发现还有未更新的记录)
读未提交
不能
不能
不能
读提交
不能
不能
可重复读
不能
序列化(事务串行)

可重复读(RR)+mvcc+间隙锁可以解决幻读的问题,也就是要解决幻读只能是序列化隔离级别或者可重复读+mvcc+间隙锁。

3.死锁:a事物是的id或其他索引字段,b事物也要使用,而a事物要使用的字段b事物正在使用等。
mysql死锁会自动处理,抛弃死锁的某个事物。