可重复读解决幻读失效案例

写在前边

看网上关于InnoDB在可重复读隔离级别下解决幻读的资料的时候,网上出现了分歧,有的认为完全解决了,有的认为没有完全解决。

我就想验证一下是否没有完全解决

实验条件

MySQL版本

image-20230611154449772

默认存储引擎

image-20230611154821138

验证

情况1

数据库表

image-20230611155239725

表数据,未开启事务之前

image-20230611162054782

事物1开启事务

image-20230611162141591

事务2开启事务

image-20230611162312749

事务1查询

image-20230611162351728

事务1修改数据

image-20230611162422372

事务1再次查询,两次查询结果不一样,按理说,是当前读,且在可重复读的隔离级别下,是不能查到后边的事务的情况的,但是却查询到了;说明MVCC并没有完全解决幻读

image-20230611162500309

情况2

事务1

image-20230611163225086

事务2

image-20230611163321906

以上两种情况都出现了幻读。

posted @ 2023-06-11 16:36  Sstarry  阅读(18)  评论(0)    收藏  举报