事务隔离级别读数据一致性脏读不可重复读幻读
读未提交最低级被,只能保证不读取物理上损坏的数据
读已提交语句级
可重复读事务级是, innodb通过nex-key-lock 间隙锁避免幻读
串行化最高级别,事务级

隔离级别

读未提交,脏读/不可重复读/幻读都可能
读已提交,脏读不可能,不可重复读/幻读都可能。解决脏读

快照读,不加锁.
针对当前读,RC隔离级别保证对读取到的记录加锁 (记录锁),存在幻读现象

可重复读, 不可重复读/脏读不可能,幻读可能。innodb是通过间隙锁来解决的。

可重复读的隔离级别下使用了MVCC机制,

  1. select操作不会更新版本号,是快照读(历史版本),不加锁
  2. insert、update和delete会更新版本号,是当前读(当前版本)
    针对当前读,RR隔离级别保证对读取到的记录加锁 (记录锁),同时保证对读取的范围加锁,新的满足查询条件的记录不能够插入 (间隙锁),不存在幻读现象

串行化,都不可能。最严格。会进行锁表。