“可重复读取”和“快照隔离”有什么区别

时间:2019-03-18 05:29:21

标签: sql database isolation-level

可重复读取定义为

  

更高的隔离级别,除了保证   读取提交级别,它还保证读取的任何数据都不能   更改,如果事务再次读取相同的数据,它将找到   以前已读取的数据就位,没有更改,可以读取。

似乎与快照隔离非常相似。

可重复读取与快照隔离级别有何不同?

1 个答案:

答案 0 :(得分:3)

“快照”保证事务内的所有查询将看到事务开始时的数据。

“可重复读取”仅保证如果事务中的多个查询读取相同行,则它们每次将看到相同的数据。 (因此,不同的表可能会在不同的时间快照,具体取决于事务首次查询它们的时间。)