多版本并发问题

脏写

隔离级别

  • 读未提交

    现象

  • 事务B去修改了事物A修改过但还没提交的值,当事物A回滚,会导致事物B修改的值也没了

    脏读

    隔离级别

  • 读未提交

    现象

  • 事物B查询了事物A修改过的值,但事物A还没提交,当事物A回滚后,事物B再次查询会拿到和第一次不一样的值

    幻读

    现象

  • 一个事物用同一条SQL,每次查询都会查询到了之前没有的数据

    不可重复读

    隔离级别

  • 读已提交

    现象

  • 在一个事物期间,多次查询一个值不一样,因为中间有其他事物修改了这值

    事物隔离级别

    read uncommitted(读未提交)

    read committed(读已提交)

    repeatable read(可重复读)

    serializable(串行化)