데이터베이스를 사용하다 보면 쿼리의 성능을 높이기 위해 인덱스를 추가하는 경우가 있다. 많은 주니어 개발자들이 경험하듯, 인덱스를 추가하면 데이터 조회 속도가 빨라지는 것을 자주 경험하게 된다. 하지만 그 원리를 정확히 이해하지 못하면 잘못된 인덱스를 생성해 오히려 성능을 저하시키기도 한다. 이번 글에서는 인덱스의 원리와 성능에 미치는 영향을 그림을 통해 쉽게 설명해보고자 한다. 인덱스의 기본 개념인덱스는 책의 목차와 유사한 개념이다. 책에서 원하는 내용을 찾을 때 처음부터 끝까지 한 페이지씩 넘겨보는 것보다 목차를 통해 원하는 챕터나 페이지를 바로 찾는 것이 훨씬 빠르듯이, 데이터베이스에서도 인덱스는 특정 열(column)에 대한 참조 테이블을 만들어서 데이터 조회를 빠르게 도와준다. 인덱스의 작동 ..