事务隔离级别 | 读数据一致性 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|---|
读未提交 | 最低级被,只能保证不读取物理上损坏的数据 | 是 | 是 | 是 |
读已提交 | 语句级 | 否 | 是 | 是 |
可重复读 | 事务级 | 否 | 否 | 是, innodb通过nex-key-lock 间隙锁避免幻读 |
串行化 | 最高级别,事务级 | 否 | 否 | 否 |
隔离级别
读未提交,脏读/不可重复读/幻读都可能
读已提交,脏读不可能,不可重复读/幻读都可能。解决脏读
可重复读, 不可重复读/脏读不可能,幻读可能。innodb是通过间隙锁来解决的。
可重复读的隔离级别下使用了MVCC机制,
串行化,都不可能。最严格。会进行锁表。