
image.png
1、 不可重复读:
同一个事务中:
id=10行, 字段c1, 第一次查询 c1=0;
id=10行, 字段c1, 第二次查询 c1=1;
因为在第二次查询, 另外一个事务修改了c1=1,且事务提交。
2、 可重复读:
同一个事务中:
id=10行, 字段c1, 第一次查询 c1=0;
id=10行, 字段c1, 第二次查询 c1=0;
无论id=10被读了多少次, c1=0
即便是第二次查询之前,有另外的事务修改c1=1,也不会读到。
但是却可能幻读, 因为查询范围内插入新行。
本文深入探讨了数据库事务隔离级别中的不可重复读与可重复读概念。通过具体例子,阐述了当一个事务内多次读取同一数据时,由于其他事务的并发操作导致数据变化,是否能读取到相同数据的区别。不可重复读情况下,数据会被其他事务更改,而可重复读则会使用快照数据,避免这种情况发生,但可能会遇到幻读的问题。
6131

被折叠的 条评论
为什么被折叠?



