事务的隔离级别

针对多个事务之间的关联划分隔离级别。

oracle支持2种隔离级别(读已提交,串行化),默认隔离级别是读已提交。

mysql支持4种隔离级别(读未提交,读已提交,可重复读,串行化),默认隔离级别是可重复读。

 

四种隔离级别:

1、读未提交(ReadUncommitted);   

2、读已提交(ReadCommitted);

3、可重复度(RepeatableRead);

4、串行化(Serializable);

 

会产生的是三种事务问题:

1.脏读

一个事务会读进还没有被另一个事务提交的数据,所以你会看到一些最后被另一个事务回滚掉的数据。    

2.不可重复读

一个事务读进一条记录,另一个事务更改了这条记录并提交完毕,这时候第一个事务再次读这条记录时,它已经改变了。

3.幻读

一个事务用Where子句来检索一个表的数据,另一个事务插入一条新的记录,并且符合Where条件,这样,第一个事务用同一个where条件来检索数据后,就会多出一条记录。

 

  脏读 不可重复读 幻读  
读未提交 出现 出现 出现  
读已提交   出现 出现  
可重复度     出现  
串行化        

 

posted @ 2020-02-06 15:45  香吗  阅读(176)  评论(0)    收藏  举报