사용자 입력이나 외부 API 대기를 트랜잭션 안에 넣지 않는다.
Design Rules
좋은 트랜잭션은 짧고, 작고, 순서가 일정하다
긴 트랜잭션은 락뿐 아니라 스냅샷, Undo 보존, 복제 지연까지 비용을 키운다.
짧게
작게
순서
조건을 좁히고 필요하면 행 단위 잠금을 명시한다.
여러 리소스는 항상 같은 순서로 접근해 데드락 가능성을 낮춘다.