前言
每次谈到数据库的事务隔离级别,大家一定会看到这张表.
其中,可重复读这个隔离级别,有效地防止了脏读和不可重复读,但仍然可能发生幻读,可能发生幻读就表示可重复读这个隔离级别防不住幻读吗?...可重复度
在可重复读(REPEATABLE READS)是介于已提交读和可串行化之间的一种隔离级别(废话?)...了解到了上诉的一些背景知识后,下面正式开始我们的议题.
可重复读(Repeatable read)能防住幻读吗?
可重复读
在讲可重复读之前,我们先在mysql的InnoDB下做下面的实验....悲观锁与乐观锁
我们前面说的在对象上加锁,是一种悲观锁机制,有很多文章说可重复读的隔离级别防不了幻读, 是认为可重复读会对读的行加锁,导致他事务修改不了这条数据,直到事务结束,但是这种方案只能锁住数据行...那如果有一个新的范统要插进行呢? 因为范统的前后并没有被锁住,是能成功插入的,这样就极大地提高了数据库的并发能力.
马失前蹄
上文中说了可重复读能防不可重复读,还能防幻读,它能防住所有的幻读吗?