[SQLP] 2장. Lock과 트랜잭션 동시성 제어 - 동시성 제어
동시성 제어 (Concurrency Control)1. 비관적 동시성 제어 vs 낙관적 동시성 제어가. 비관적 동시성 제어사용자들이 같은 데이터를 동시에 수정할 것이라고 가정Select 시점에 Lock을 거는 비관적 동시성 제어는 자칫 시스템 동시성을 심각하게 떨어뜨릴 우려가 있음 -> no wait 옵션 사용holdlock, updlock 힌트 사용 권장나. 낙관적 동시성 제어사용자들이 같은 데이터를 동시에 수정하지 않을 것이라고 가정Select 시에는 Lock을 설정하지 않음 -> 수정 시점에 다른 사용자에 의해 값이 변경됐는지 검사 필요2. 다중버전 동시성 제어가. 일반적인 Locking 메커니즘의 문제점값을 읽는 순간에만 공유 Lock을 걸고 다음 레코드로 이동할 때 Lock을 해제함트랜잭션 격리..