실제 Lock 호환성 검사 · Wait Queue · Wait-for Graph · Deadlock 감지 · MVCC
BEGINBEGINWRITE row1=999 → X Lock 획득WRITE row2=222 → X Lock 획득WRITE row2=999 → T2 X Lock 대기 (BLOCKED)WRITE row1=111 → T1 X Lock 대기Read Uncommitted으로 변경BEGINBEGINWRITE row1=999 (미커밋)READ row1 → uncommitted 999 읽음ROLLBACKRead CommittedBEGINREAD row1 → 100BEGIN → WRITE row1=999 → COMMITREAD row1 → 999 (값 변경됨)Repeatable ReadBEGIN → READ row1 → S LockBEGIN → READ row1 → S Lock (호환)WRITE row1=999 → X Lock 업그레이드 시도COMMIT