
Innodb_autoinc_lock_mode는 MySQL에서 자동 증가 ID의 잠금 모드를 설정하는 옵션입니다. 이 옵션은 3가지 모드 (1, 2, 0)가 있습니다.
- 모드 0 (TRADITIONAL) : 이 모드는 기본 모드입니다. 자동 증가 ID를 사용하는 모든 트랜잭션은 잠금을 획득해야 하며, 다른 트랜잭션은 자동 증가 ID를 사용할 수 없습니다.
- 모드 1 (CONCURRENT) : 이 모드는 여러 트랜잭션에서 동시에 자동 증가 ID를 사용할 수 있도록 허용합니다. 하지만, 이 모드는 잠금을 획득하지 않은 트랜잭션이 자동 증가 ID를 사용할 경우, 잠금을 획득한 트랜잭션의 ID가 중복될 수 있습니다.
- 모드 2 (USTAD) : 이 모드는 모드 1과 유사하지만, 잠금을 획득하지 않은 트랜잭션이 자동 증가 ID를 사용할 경우, ID가 중복되지 않도록 보장합니다.
각 모드의 장단점은 다음과 같습니다.
- 모드 0 : 장점은 안전성, 단점은 성능 저하
- 모드 1 : 장점은 성능 향상, 단점은 ID 중복 가능성
- 모드 2 : 장점은 ID 중복 없는 성능 향상, 단점은 복잡한 구현 필요
각 모드의 사용하는 경우는 다음과 같습니다.
- 모드 0 : 기본 모드, 안전성에 중점을 둔 시스템에 사용
- 모드 1 : 성능 향상에 중점을 둔 시스템에 사용, ID 중복 가능성이 허용되는 경우
- 모드 2 : 성능 향상과 ID 중복 없는 시스템에 사용, 복잡한 구현이 가능할 경우
2025-08-10 02:39