From b66f6224b5974ac82b7f5916047275e943b70a55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A7=80=EC=B0=AC=EC=9A=B0?= Date: Mon, 14 Oct 2024 12:33:45 +0900 Subject: [PATCH] =?UTF-8?q?modify:=20SELECT=20~=20FOR=20UPDATE=20=EC=BF=BC?= =?UTF-8?q?=EB=A6=AC=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=9E=98=EB=AA=BB?= =?UTF-8?q?=EB=90=9C=20=ED=91=9C=ED=98=84=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 읽기(공유) 잠금(Shared Lock)이 아닌 쓰기(배타) 잠금(Exclusive Lock)이라고 표현하는 게 옳음 --- Database/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Database/README.md b/Database/README.md index b934552..fccf713 100644 --- a/Database/README.md +++ b/Database/README.md @@ -369,7 +369,7 @@ Deadlock 이 발생한다. 일반적인 DBMS는 교착상태를 독자적으로 * 트랜잭션을 자주 커밋한다. * 정해진 순서로 테이블에 접근한다. 위에서 트랜잭션 1 이 테이블 B -> A 의 순으로 접근했고, 트랜잭션 2 는 테이블 A -> B의 순으로 접근했다. 트랜잭션들이 동일한 테이블 순으로 접근하게 한다. -* 읽기 잠금 획득 (SELECT ~ FOR UPDATE)의 사용을 피한다. +* 쓰기(배타) 잠금 획득 (SELECT ~ FOR UPDATE)의 사용을 피한다. * 한 테이블의 복수 행을 복수의 연결에서 순서 없이 갱신하면 교착상태가 발생하기 쉽다, 이 경우에는 테이블 단위의 잠금을 획득해 갱신을 직렬화 하면 동시성은 떨어지지만 교착상태를 회피할 수 있다.