数据库事务隔离级别

Read uncommitted 读未提交     
可以读取到事务还未提交时的数据    
可能出现:脏读  不可重复读  幻读
 
Read committed 读提交      
在当前事务中读取到的数据为事务提交后的数据,可避免脏读
可能出现:不可重复读  幻读
SQL Server、Oracle默认级别
 
Repeatable read 重复读
在当前事务中读的时候保证每次读到数据都一致,可避免不可重复读
可能出现:幻读
MySQL默认级别
 
Serializable 串行化(序列化)
事务按顺序进行,同一时间只允许一个事务进行,效率很低,使用较少
 
MySQL 中设置事务级别:
SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL   {        REPEATABLE READ      | READ COMMITTED      | READ UNCOMMITTED      | SERIALIZABLE    }
This statement sets the transaction isolation level, used for operations on InnoDB tables.
查看当前事务隔离级别:select @@tx_isolation;

你可能感兴趣的:(事务隔离级别)