SQL标准定义了四个隔离级别:
READ--UNCOMMITTED(未提交读取):最低隔离级别允许读取未提交的数据变更,可能导致脏读、幻读或不可重复读取。
READ-COMMITTED(读取已提交):允许读取并发事务提交的数据可以防止脏读,但幻读或不可重复读仍有可能发生。
REPEATABLE-READ(可重复读):同一字段的多读结果是一致的,除非数据被自己的事务修改,否则可以防止脏读或不重复读,但幻读仍然可能发生。
SERIALIZABLE(可串行化):最高的隔离级别完全符合ACID的隔离级别。所有事务都是一个接一个地执行的,这样事务之间就不可能有干扰,也就是说,这个级别可以防止脏读、重复读和幻读。
MySQL 默认支持InnnoDB存储引擎的隔离级别REPEATABLE-READ(可重复读)