
[MySQL] MySQL 성능 개선의 핵심, 인덱스 이해하기
·
DB/SQL
인덱스란?특정 컬럼을 기준으로 데이터를 빠르게 조회하기 위해 사용하는 자료구조이다. 일반적으로 인덱스는 B-Tree 구조로 구성되어있어 이진 탐색 방식을 활용하여 데이터를 검색하는 방식이다.인덱스를 생성하면 원본 테이블을 기준으로 새롭게 정렬된 노드 형태를 띄게되며, 자신이 정한 특정 컬럼값들만 저장하고, 그 값이 있는 row를 가리키는 포인터를 가지게 된다. CREATE INDEX idx_salary ON employee(salary);위와 같은 인덱스를 생성할 경우 아래와 같은 B-Tree 구조를 띄게 된다.salary를 기준으로 정렬된 인덱스 테이블이 생기게 되는 것이아니라 노드 구조를 생성한다는 것이다.각 노드에는 salary 값만 들어있게 되고 각 leaf 노드에는 실제 row의 주소 또는 실제..