S / X LOCK

공유 락은 함께 읽고, 배타 락은 모두 기다리게 한다

S-Lock은 잠금 읽기끼리 호환되지만, X-Lock이 끼면 같은 행의 다른 잠금 요청은 대기한다.

요청 \ 보유
S-Lock 보유
X-Lock 보유
S-Lock 요청
허용: 잠금 읽기끼리 동시 진행
대기: 쓰기 중인 행 보호
X-Lock 요청
대기: 읽기 보호 중인 행 수정 불가
대기: 두 쓰기 동시 진행 불가
주의: MVCC의 일반 SELECT는 DBMS별로 S-Lock 없이 스냅샷을 읽을 수 있다.