幻读和不可重复读的区别

199次

问题描述:

不可重复读和幻读和脏读

推荐答案

2023-10-24 12:20:53

幻读和不可重复读都是数据库中的并发控制问题,但它们的区别在于:

1. 不可重复读是指在同一务中,多次读取同一数据,但由于其他事务的修改,每次读取的结果不同。例如,事务A读取了行数据,然后事务B修改了该行数据,事务A再次读取该行数据时,发现数据已经发生了变化。这种情况下,事务A就遇到不可重复读的问题。

2. 幻读是指在同一事务中,多次执行同查询,但由于其他事务的插入删除操作,每次查询返回的结果集不同。例如,事务A执行了一个查询,返回了一些行,然后事务B插入了一些新行,事务A再次执行相同的查询时,发现结果集中出现了新行,这种情况下,事务A就遇到了幻读的问题。

因此,不可重复读是针对同一数据的修改,幻读是针对数据集合的修改。

其他答案

2023-10-24 12:20:53

区别:

1、不可重复读的重点是修改;同样的条件,第1次和第2次读取的值不一样。幻读的重点在于新增或者删除;2同样的条件, 第1次和第2次读出来的记录数不一样。从控制角度来看,不可重复读只需要锁住满足条件的记录,幻读要锁住满足条件及其相近的记录。

其他答案

2023-10-24 12:20:53

它们的区别在于:

1. 幻读:是指在一个事务中执行两次相同的查询,第二次查询可能会返回新的行,这是因为在查询之间有其他事务插入了新的行。幻读通常发生在多个事务同时向数据库中插入、删除或修改数据时。

2. 不可重复读:是指在一个事务中执行两次相同的查询,第二次查询返回的结果与第一查询不同,这是因为在查询之间有其他事务修改了数据。不可重复读通常发生在事务中多次读取同一行数据时。

简而言之,幻读是由其他事务插入新行导致的,而不可重复读是由于其他事务修改已有行导致的。

其他答案

2023-10-24 12:20:53

1.

不可重复读 在同⼀个事务中执⾏同⼀个读取操作,但是结果不⼀致。

2.

幻读 同样的事务操作,在前后两个时间段内执⾏对同⼀个数据项的读取,可能出现不⼀致的结果。 tip:不可重复读和幻读两者有些相似。但不可重复读重点在于update和delete,而幻读的重点在于insert。

知道问答相关问答

(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6