MYSQL事务隔离级别分析

MYSQL事务隔离级别分析

  • 不可重复读和幻读的区别?

不可重复读和幻读的区别?

先理解几个概念

  1. 不可重复读
    一个事务中,后续查询结果得到不同的数据,可被重复读隔离级别解决
  2. 幻影
    出现在查询结果集中但不出现在较早查询的结果集中的行
  3. 幻读
    一个事务中,先后执行两次查询,与此同时,另一个事务插入新行或更改行后提交,出现的数据不一致情况,比不可重复读更难防范,因为锁定第一个查询中的所有行无法阻止导致幻读出现的更改

再来看区别

  1. 很相似
  • 前后两次查询看到的数据情况不一致
  1. 场景会有些不同
  • 不可重复读
    一般针对单行数据
    可被可重复读隔离级别解决

  • 幻读(除了序列化隔离级别外,都存在)
    一般针对多行数据,范围查询
    无法被可重复度隔离级别解决

你可能感兴趣的:(mysql,mysql,数据库)