事务的隔离级别

数据库事务

Posted by TBKK on March 10, 2020

事务的4中隔离级别

  1. Read uncommitted
  2. Read committed
  3. Repeatable read
  4. Serializable

Read uncommitted

  1. A写了数据,还没commit,B可以读
  2. A回滚了,B读出来的数据就是脏数据
  3. 一般不用

Read committed

  1. 在一个事务内,多次读同一数据,在这个事务还没有结束时,如果另一个事务恰好修改了这个数据,那么,在第一个事务中,两次读取的数据就可能不一致。
  2. 只针对Update
  3. 大多数数据库默认的事务隔离级别是Read committed,比如Sql Server , Oracle。

Repeatable read

  1. 在一个事务中,第一次查询某条记录,发现没有,但是,当试图更新这条不存在的记录时,竟然能成功,并且,再次读取同一条记录,它就神奇地出现了。
  2. 只针对Insert
  3. Mysql默认的事务隔离级别是Repeatable read。

Serializable

  1. 所有操作顺序执行,效率低下一般不用。