DB 공부
-
[Real MySQL] 인덱스 (2) - B-Tree 인덱스✍️ 개인 스터디 기록 2022. 12. 12.
B-Tree 인덱스 제일 상단에 루트노드 부터 시작해서 제일 하단 리프노드 까지 인덱스 페이지별로 나뉘어져 있다. 인덱스로 정한 키값이 정렬된 상태로 되어있다는 점이 중요하다. 실제 데이터파일의 경우 정렬이 되어있지 않고 임의의 순서로 저장된다. 인덱스테이블에는 키값만 저장되어있기 때문에 나머지 컬럼 정보를 가져오기 위해서는 실제 데이터 파일에서 해당 레코드를 찾아와야한다. InnoDB 엔진에서는 세컨더리 인덱스에서 B-Tree 탐색이 2번 일어난다. InnoDB 엔진에서는 아래 그림처럼 리프노드에서 프라이머리 키가 실제 데이터의 주소값 역할을 하는데, 그렇기 때문에 리프노드에서 프라이머리 키를 찾았으면, 찾은 프라이머리 키로 실제 데이터를 찾기 위해 프라이머리 키 인덱스 B-Tree를 또 탐색하는 과정..