Index란? (w. MySQL)
Computer Science/DB
Index란?데이터를 정렬/구조화된 키 공간에서 검색하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 보조 데이터 구조이다. 책의 색인처럼 원하는 행 위치로 가는 빠른 길을 따로 만들어 두는 것과 같다. 왜 빠를까?위에서 간단하게 설명한 것처럼 원하는 행의 위치로 가는 색인 테이블을 따로 만들어둔다. 근데 왜 색인 테이블이 빠를까? 원하는 데이터가 뭔지 모르니 결국 컬럼의 모든 데이터에 대해서 색인을 만들어야 할 텐데, 그러면 똑같은거 아닌가?! 대부분의 범용 RDBMS에서 인덱스 테이블은 B+Tree 자료구조로 만들어진다(종종 Hash도 있지만 대부분 B-Tree 파생으로 구현되어있다). B+Tree에 대해서 간략하게 설명하자면 자식 노드가 2개 이상인 B-Tree를 개선한 균형 잡힌 다진 트리로..