什么是幻读?
在同一个事务内,同一条查询语句在前后两次执行时出现查询的记录数不一致的现象叫幻读
直接上图:
假设我同时开启事务A、B,事务A先查询数据库中数据库课设成绩大于90分的学生,查询结果有10人,这个时候事务B开启执行同样的查询语句,获取同样的结果,在这之后事务A插入一条数据库课设成绩大于90的学生并结束事务。此时事务B再次执行上一次的查询语句,获取到的结果是:有11人数据库课设成绩大于90。此时结束事务B。
在上述案例中,事务B两次查询出现了记录数不一致的情况,也就是出现了幻读现象。
注:幻读仅专指新插入的行,通过update更新数据而出现同一个事务前后两次查询的记录数不一致的不算幻读