Intent Lock

의도 잠금은 테이블에 '아래 행 잠금 있음'을 표시한다

행 잠금이 많아도 테이블 전체 잠금 요청은 상위 표식만 보고 충돌 여부를 빠르게 판단할 수 있다.

TABLE IX
row 10 S row 20 X row 30

테이블에는 “아래에 행 잠금이 있음”만 표시하고, 실제 충돌은 같은 행에서 판정한다.

보유 \ 요청
IS
IX
S
X
IS
허용
허용
허용
대기
IX
허용
허용
대기
대기
S
허용
대기
허용
대기
X
대기
대기
대기
대기
핵심: IX끼리는 다른 행 수정 가능성을 열어 두지만, 테이블 X 요청은 아래 행 잠금이 끝날 때까지 기다린다.