InnoDB Next-Key Locking (phantom row 방지 기법) MySQL(InnoDB)의 트랜잭션 모델은 Repeatable Read Isolation 레벨을 기본으로 하고 있다. Repeatable Read는 Read Uncommitted, Read Committed 레벨과는 달리 Phatom Row가 발생하지 않는다는 장점이 있다. Phantom Row의 "Phatom"은 유령이라는 뜻으로, 아래와 같이 트랜잭션 수행중 다른 트랜잭션이 생성한 Row가 갑자기 나타나는 것을 말한다. 아래 예제에서는 Phantom Row를 만들기 위해 세션의 Isolation 레벨을 Read Committed로 변경하고, 2번째 SELECT 쿼리를 수행하기 전에 다른 트랜잭션에서 새로운 값을 INSERT..