可以锁定以防止不可重复的读取吗?

时间:2016-11-14 16:29:28

标签: mysql mongodb postgresql rdbms database

我心中有一个特别的问题,比如我有一个这样的时间表:

S2(A),R2(A),U2(A),X1(A),W1(A),Commit1(A),U1(A),S2(A),R2(A),U2( A)

  • S是共享锁,X是独占锁,U是解锁共享锁或独占锁。

即使我在这里共享锁和独占锁,我仍然在事务2中获得不同的A值,这在事件的开始和结束时发生 - 因为事务1在中间改变了A的值。

在这种情况下,这是否意味着锁无法阻止不可重复的读取?

1 个答案:

答案 0 :(得分:0)

Slocks 会锁定A的值,并且不允许您设置 Xlock ,因此您无法写入 A 的新值,除非您重新获得 Slock 已删除。

Xlocks 不允许读取和写入 A 的值,除非将其删除。