首页 > 代码库 > 数据库事务的四种隔离级别

数据库事务的四种隔离级别

 

数据库事务的隔离级别有4个,由低到高依次为:

 
Read uncommitted
未授权读取
读未提交
读可允许其他
两个事务不能同时进行写操作
事务B读取事务A为提交的数据
避免更新丢失
会出现脏读
 
Read committed  
 
授权读取
读提交
读可允许其他
未提交的事务禁止其他事务访问进行
事务A读取数据
事务B更改数据
事务A读取B更改后的数据,前后结果不一致
避免脏读
会出现不可重复读(重复读取结果不同)
 
Repeatable read
 
 
可重复读取
读不允许写事务进行
写禁止其他事务进行
事务A读取R1和修改R2
事务B则不能修改R1和读取R2,B不会影响A
如果A包含一个统计某个范围内记录的操作,而B恰好在范围内插入一条记录,造成A幻读
可重复读取
会出现幻读
 
Serializable   
 
 
序列化
事务只能一个接着一个执行,不能并发执行
最高的事务隔离级别,性能很低,一般很少用
避免脏读,避免不可重复读,避免幻读

数据库事务的四种隔离级别