可序列化和可重复读取隔离级别之间有什么区别?任何人都可以举一个简单的例子。
答案 0 :(得分:34)
要点:
在可重复读取隔离级别中,可以将新行插入到数据集中。
在Serializable隔离级别中,所有行都在事务期间被锁定,不允许插入,更新或删除。
请参阅此示例和说明
隔离级别 - 可序列化
隔离级别 - 可重复读取
答案 1 :(得分:8)
可重复读取仅防止不可重复读取(因此您可以在同一事务中读取相同的数据而不必担心有人更改它 - 即使它很少需要这样做)
可序列化会阻止不可重复的读取和幻像行(因此您甚至无法插入数据)。这意味着您可以读取和写入(SELECT,UPDATE)可序列化事务中未包含的行,但您不能在TABLE级别上删除或插入行。
可重复读取和可序列化都非常严格,并不总是需要它们!