数据库事务隔离级别以及锁的一些认识

一、什么是脏读、幻读、不可重复读?

在讲「数据库事务隔离级别」的时候是逃不开「脏读」、「幻读」、「不可重复读」这三个概念的,所以先对这三个概念进行一个简单的总结,如下:

  1. 脏读
    「事务A」读取了「事务B」未提交(没有commit)的数据。
  2. 不可重复读
    在一个事务中多次读取同一条数据,每次读的结果都不一样。出现在数据修改的场景中。
  3. 幻读
    在同一个事务中,同样的查询条件下,第 1 次和第 2 次读出来的记录数不一样。出现在新增或删除的场景中。

二、数据库事务隔离级别

  1. RU(READ-UNCOMMITTED)
    读取事务未提交的数据。
  2. RC(READ-COMMITTED)
    读取到事务已提交的数据。
  3. RR(REPEATABLE-READ)
    可重复读
  4. SR(SERIALIZABLE)
    串行化

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