JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

인덱스(Index)란?

JSCODE 박재성
JSCODE 박재성
2025-12-02
author
JSCODE 박재성
category
MySQL
createdAt
Dec 2, 2025
series
비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
slug
what-is-index
type
post
updatedAt
Dec 2, 2025 10:54 AM

✅ 인덱스(Index)란?

인덱스의 정의를 찾아보면 아래와 같다.
인덱스(Index)는 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조를 뜻한다.
 
위의 정의보다는 아래의 의미로 인덱스를 기억하자. 그래야 훨씬 직관적으로 이해하기가 쉽다.
인덱스(Index) : 데이터를 빨리 찾기 위해 특정 컬럼을 기준으로 미리 정렬해놓은 표
 
 

✅ 예시를 통해 인덱스 의미를 직관적으로 이해해보자.

아래와 같은 users 테이블이 있다고 가정하자.
notion image
위 1만개의 데이터 중에서 나이가 23살인 사용자를 전부 직접 찾으려고 해보자. 나이가 뒤죽박죽 섞여있기 때문에 모든 행을 일일이 검사해서 23살인 사용자를 뽑아내야 한다. 1만개의 데이터를 일일이 다 확인해야 하므로 시간이 오래 걸릴 수 밖에 없다.
 
notion image
“하지만 위와 같이 나이 순으로 정렬된 표가 있다면 어떨까?”
 
 
notion image
나이가 23살인 사용자를 뽑아내려면 위의 표에서 23살로 시작하는 지점과 24살로 시작되는 지점만 찾은 뒤 그 사이에 있는 모든 값을 가져오면 된다. 정렬을 해놓으니 모든 데이터를 일일이 다 확인할 필요가 없어서 훨씬 효율적으로 데이터를 조회할 수 있게 됐다.
 
위의 예시에서 나이 순으로 정렬된 표가 인덱스이다. 정확히 말하자면 나이 컬럼을 기준으로 인덱스를 생성한 것이다. 이러한 특징 때문에 데이터를 찾는 속도를 빠르게 만들기 위해서 인덱스를 많이 활용한다.
 
참고로 실제 DB에서는 인덱스를 생성한다고 해서 정렬된 표를 직접 눈으로 확인할 수는 없다. 시스템 내부적으로 생성될 뿐이다.
 
 
⭐
[이것만은 꼭 기억해두자!] - 인덱스란 데이터를 빨리 찾기 위해 특정 컬럼을 기준으로 미리 정렬해놓은 표
 
author
category
MySQL
createdAt
series
비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
slug
type
series-footer
updatedAt
Jan 12, 2026 12:04 AM
📎
이 글은 비전공자도 이해할 수 있는 Docker 입문/실전 강의의 수업 자료 중 일부입니다.