innodb의 락과 인덱스의 종류와 관련된 질문
innodb 엔진에서는 레코드에 대해서 레코드 자체 락이 아닌 레코드의 인덱스에 락을 건다.
이때 기본 키를 이용하는 경우
인덱스의 리프 노드에 데이터가 담겨 있으므로
정확히 해당 레코드만 잠금.
보조 인덱스를 이용하는 경우
리프 노드에 기본 키가 들어있으므로
해당 기본 키와 연결된 레코드에 락이 걸린다.
이때 유니크 키 인덱스와의 차이점은
보조 인덱스는 해당 기본 키와 연관된 인덱스(넥스트 키 락)도 락을 걸지만
유니크 키 인덱스는 해당 레코드 인덱스만 락을 건다.
이 전체 내용이 맞는지 궁금해요
ㅇㅇ 보조인덱스는 팬텀 리드가 발생할 가능성이 있기 때문에 넥스트키락을 걸지만 유니크 인덱스는 레코드 락을 걸음
보조인덱스를 사용하는 경우 해당 레코드에 PK 레코드 락을 걸고 보조 인덱스에 해당 인덱스 칼럼에 넥스트키 락을 걸음
추가 설명 ㄱㅅㄱㅅ 이해가 어느정도 잘 된 거 같음