INDEX의 기능
- 내가 원하는 부분을 쉽고 빠르게 전달해준다. 즉 정보 검색시 성능을 최적화 시켜주는 역활을 한다.
INDEX 사용이유
- 수천 수만개의 데이터가 담겨있는 A테이블이 있다고 하자 그 A테이블에서 INDEX를 사용하지 않다면 where절을 사용하여 특정 행을 가져올 시 수천 수만개의 데이터를 일일히 다 서차를 해야 할 것이다.
하지만 INDEX를 사용하여 자주 사용하는 컬럼을 INDEX 테이블에 저장하여 관리한다면? 특정 행을 가져올 시에 수천 수만개의 데이터를 일일히 조회하는 것이 아니라 INDEX테이블을 먼저 조회하여 결과 값을 가져오게된다.책의 목차
느낌으로 이해하면 된다. 그러므로 INDEX를 잘 활용한다면 DB성능을 극대화 할 수 있다.
INDEX 동작원리
찾고자 하는 값이 branch block에서 가장 왼쪽 값보다 작거나 같을 때는 왼쪽 포인터, branch block 사이에 있으면 사이 포인터, branch block에서 가장 큰 값보다 크면 오른쪽 포인터로 찾아간다.
이 과정을 통해 leaf block을 찾고 그 안에서 찾고자 하는 값이 있으면 성공이고 없으면 실패다.