INTENTION LOCK

의도 잠금

행을 잠글 때 테이블에도 의도 표시를 남겨, 테이블 전체 잠금과 행 잠금의 충돌을 빠르게 판단한다.

IS: 공유 의도
IX: 배타 의도
X: 전체 독점
1Row S행을 잠금 읽기하려면 테이블에 IS 표시
2Row X행을 수정하려면 테이블에 IX 표시
3Table S/X테이블 전체 잠금 요청은 의도 잠금과 호환성 확인
4Fast Decision전체 행을 훑지 않고 충돌 여부 판단
요청
IS
IX
S
X
IS
허용

공유 의도

허용

다중 행 의도

허용

테이블 공유 가능

대기

전체 독점 충돌

IX
허용

서로 다른 행 가능

허용

행 단위 쓰기 공존

대기

전체 공유와 충돌

대기

전체 독점 충돌

S
허용

공유 읽기

대기

행 쓰기 의도 충돌

허용

공유 가능

대기

독점 충돌

X
대기

모든 의도 차단

대기

모든 의도 차단

대기

공유 차단

대기

독점 차단