mvcc

MVCC 全称Multi-Version Concurrency Control 即 多版本并发控制。 MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。
MVCC 在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式处理读-写 冲突 ,做到即使有读写冲突是,也能做到不加锁,非阻塞并发读。

快照读就是读取数据的时候会根据一定的规则读取事务可见版本的数据。
当前读 就是读取最新版本的数据 读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁。

sellect *from ..where 语句为快照读。、、、

select *from …where …for update
select *from …where … in share mode
当前读。

如果事务中使用快照读,那么不会产生幻读现象,但是快照读和当前读混用就会产生幻读。

参考链接

https://www.jianshu.com/p/8845ddca3b23