考虑以下交易:
BEGIN;
SELECT *
FROM A
JOIN B ON A.id = B.a_id
WHERE A.id = 123
ORDER BY A.id, B.id
FOR UPDATE;
-- more ops...
COMMIT;
我使用
ORDER BY
子句只是为了确保以一致的方式锁定行,这样,如果多个并发连接执行同一事务,就不会发生死锁。
我的问题是:
ORDER BY
子句(考虑到我正在做一个JOIN
)?几个月前我问过一个similar question,但是没有使用
JOIN
子句。