在休眠标准中使用PESSIMISTIC_WRITE作为LockMode作为Select for update query的替代方法,性能是否有任何显着差异。
用例涉及以下几点:
此处理由多台机器/线程同时完成。 我目前正在使用hibernate标准,这导致多次锁定超时,导致所有其他查询窒息。
答案 0 :(得分:0)
在这种情况下,FOR UPDATE
是"必需"为了正确的并发:
BEGIN;
SELECT x ... FROM t ... FOR UPDATE;
use `x` for whatever
UPDATE t ...;
COMMIT;
如果没有FOR UPDATE
,x
的值可能会发生变化,从而可能使UPDATE
的意图无效。