概述:

  • 对事物隔离性的解决方案。
  • 隔离的越好,并发度越低
  • 查看当前数据库的隔离级别
    • show variables like 'tx_isolation';
  • 修改当前数据库的隔离级别:
    • set tx_isolation='REPEATABLE-READ';
  • 首先并发事务有这几种问题

语雀内容

解决方案

读未提交(Read uncommitted)

  • 啥都没做,啥也没解决。
  • 啥也不是

    读已提交(Read committed)

  • 解决了脏读

    可重复读(Repeatable read)

  • 解决了脏读不可重复读

  • mysql默认的,也是最常用的隔离级别
  • 这个隔离级别下,虽然每次查到的都是最开始时刻数据库的值,但实际上如果执行类似 update a set b = b - 1这种自加或自减的语句,最终结果会按照最新的 b 字段进行计算。

    可串行化(Serializable)

  • 串行之下,没有任何并发问题

  • nb不nb!!!
  • 如果你同事提出用这个隔离级别,就报警。