데이터베이스에서 비관적 잠금(Pessimistic Locking)의 핵심 동작 방식으로 올바른 것은?
보통 Stack Overflow해설
비관적 잠금은 충돌이 자주 발생할 것이라 가정하고, SELECT FOR UPDATE 등으로 데이터를 읽을 때 미리 잠금을 겁니다. 트랜잭션이 완료될 때까지 다른 트랜잭션은 대기합니다. 반대로 낙관적 잠금은 충돌이 드물다고 가정하고 버전 번호로 커밋 시점에 확인합니다.
비관적 잠금은 충돌이 자주 발생할 것이라 가정하고, SELECT FOR UPDATE 등으로 데이터를 읽을 때 미리 잠금을 겁니다. 트랜잭션이 완료될 때까지 다른 트랜잭션은 대기합니다. 반대로 낙관적 잠금은 충돌이 드물다고 가정하고 버전 번호로 커밋 시점에 확인합니다.