mysql说对数据加锁不管共享锁还是互斥锁就能解决幻读的问题
悲观锁:读写的时候都加锁,读取数据时给加锁,其它事务无法修改这些数据。修改删除数据时也要加锁,其它事务无法读取这些数据,serializable串行化隔离级别
乐观锁:MVCC,大多是基于数据版本( Version )记录机制实现
gap锁:在索引记录之间的间隙中加锁,或者是在某一条索引记录之前或者之后加锁,并不包括该索引记录本身。gap lock的机制主要是解决可重复读模式下的幻读问题,关于幻读的演示和gap锁如何解决了幻读