S / X LOCK

공유 락과 배타 락

공유 락은 함께 읽을 수 있게 하고, 배타 락은 쓰기 중인 데이터를 다른 잠금 요청으로부터 보호한다.

S + S 허용
X와는 충돌
요청
이미 S
이미 X
S 요청
허용

여러 트랜잭션이 같은 행을 잠금 읽기

대기

쓰는 중인 행은 잠금 읽기 대기

X 요청
대기

보호 중인 행을 쓰려면 대기

대기

두 쓰기는 동시에 진행 불가

주의: MVCC의 일반 SELECT는 DBMS별로 S-Lock 없이 스냅샷을 읽을 수 있다.