事务的隔离级别有哪些

隔离级别定义了一个事务可能受其他事务影响的程度,MySQL支持四种隔离级别,分别是读未提交、读已提交、可重复读和串行化。

  • 读未提交会出现脏读
  • 读已提交会出现不可重复读。
  • 可重复读是InnoDB默认的隔离级别,可以避免脏读和不可重复读,但会出现幻读。
  • 通过MVCC和临键锁,能够防止大多数并发问题
  • 串行化最安全,但性能较差,通常不推荐使用。

  1. 详细说说读未提交?
  • 事务可以读取其他未提交事务修改的数据。也就是说,
  • 如果未提交的事务一旦回滚,读取到的数据就会变成了“脏数据”,通常不会使用。
  1. 什么是读已提交?
  • 读已提交避免了脏读,但可能会出现不可重复读,即同一事务内多次读取同一数据结果会不同,
  • 因为其他事务提交的修改,对当前事务是可见的。
  1. 什么是可重复读?
  • 可重复读能确保同一事务内多次读取相同数据的结果一致,即使其他事务已提交修改。
  • 是MySQL默认的隔离级别,避免了“脏读”和“不可重复读”,通过MVCC和临键锁也能在一定程度上避免幻读。
  1. 什么是串行化?
    串行化是最高的隔离级别,通过强制事务串行执行来解决“幻读”问题
posted @ 2025-05-31 15:37  kuki'  阅读(22)  评论(0)    收藏  举报