IMPLEMENTATION

DBMS별 SERIALIZABLE

SERIALIZABLE은 같은 목표를 가지지만, DBMS별로 잠금 강화, 충돌 감지, 트랜잭션 스냅샷 방식이 다르다.

잠금 강화
SSI
재시도 전제
MySQL InnoDB

SERIALIZABLE에서 일반 SELECT도 잠금 읽기처럼 동작할 수 있다.

PostgreSQL

SSI가 위험한 의존성을 감지하고 한 트랜잭션을 실패시킬 수 있다.

Oracle

트랜잭션 수준 일관성과 충돌 감지로 직렬 결과를 목표로 한다.

SQL Server

범위 잠금으로 조건 범위를 보호하는 lock 기반 동작이 중심이다.