数据库的隔离级别有哪些

为了达到事务的四大特性,数据库定义了4种不同的事务隔离级别,由低到高依次为读取未提交(Read uncommitted)、读取已提交(Read committed)、可重复读(Repeatable read)、可串行化(Serializable)。

1.读取未提交(Read uncommitted)

读取未提交是最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。

2.读取已提交(Read committed)

读取已提交允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。

3.可重复读(Repeatable read)

可重复读是指对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读。可重复读能解决部分幻读问题。当A select的时候,是快照读,B insert多少条都不会影响A的读。但当A update的时候,就是当前读,会生成新的快照点,导致幻读问题出现。

4.可串行化(Serializable)

可串行化是最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。

未经允许不得转载:国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码 » 数据库的隔离级别有哪些