隔离级别是特地对数据库中的事务而言的,两个事务在操做时可否对相互之间的操做时时看到,就是事务之间的隔离级别。数据库
因而可知,有了多个事务隔离级别才有意义,单一的事务上讲隔离级别是没有任何意义的。安全
隔离级别根据从低到高依次分为Read Uncommitted、Read Committed、Repeatable Read、Serializable四种,这四种隔离级别从低到高效率在增长,但安全性在下降。spa
那么这四种隔离级别是怎样划分的呢?事务
要理解隔离级别的划分,就必定要了解两个事务之间看到数据不一致的状况。大体上有三种状况 :ci
1.脏读 就是一个事务能够看到另外一个事务在没有提交以前对数据进行的修改。it
2.不可重复读 一个事务查询同一批数据,但两次查询结果会由于另外一个事务的提交而不同。table
3.幻读 一个事务进行同一个查询,能够查询到以前没有的数据。效率
根据对这三种状况的避免类型,大体上就能够划分了这四种隔离了:数据
脏读 | 不可重复读 | 幻读 | |
Read Uncommitted | 不可避免 | 不可避免 | 不可避免 |
Read Committed | 可避免 | 不可避免 | 不可避免 |
Repeatable Read | 可避免 | 可避免 | 不可避免 |
Serializable | 可避免 | 可避免 | 可避免 |