인덱스란?
데이터를 빠르게 찾을 수 있도록 도와주는 도구
고유 보조 인덱스: 중복 허용 X
단순 보조 인덱스: 중복 허용 O
👀 기본 키 변경 시 주의할점
대용량의 데이터가 있는 상태에서 기본 키 변경시 시간이 엄청 오래 걸리고, 기본 키는 중복되지 않아야 하기 떄문에 굉장히 위험
📄 페이지란?
MySQL의 최소한의 저장 단위, 16Kbyte크기
데이터를 1건만 입력해도 1개의 페이지가 필요하다
인덱스를 구성하면, 데이터 변경 작업 시 성능이 나빠진다고 했던 이유이다.
인덱스는 아래와 같이 균형 트리로 구성되어 있다.
현재 III라는 데이터가 새로 삽입되어 HHH와 JJJ 사이에 삽입된 형태이다.
만약, 이 상태에서 GGG를 입력하게 된다면?
"FFF", "HHH", "III", "JJJ"가 있는 페이지에 빈 공간이 없어, 페이지 분할 작업이 노란 박스 안처럼 실행된다.
이처럼 삽입이 이뤄질 경우, 페이지 분할도 일어날 뿐더러, 새로운 페이지가 할당될 경우도 발생하게 되어 성능이 나빠질 수도 있다.