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

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

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

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

[실습] 멀티 컬럼 인덱스 직접 설정해보기 / 작동방식 이해하기

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

✅ 멀티 컬럼 인덱스 직접 설정해보기

  1. 테이블 생성
    1. DROP TABLE IF EXISTS users; CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, 이름 VARCHAR(100), 부서 VARCHAR(100), 나이 INT );
 
  1. 더미 데이터 생성
    1. INSERT INTO users (이름, 부서, 나이) VALUES ('박미나', '회계', 26), ('김미현', '회계', 23), ('김민재', '회계', 21), ('이재현', '운영', 24), ('조민규', '운영', 23), ('하재원', '인사', 22), ('최지우', '인사', 22);
 
  1. 멀티 컬럼 인덱스 생성
    1. CREATE INDEX idx_부서_이름 ON users (부서, 이름);
 
  1. 멀티 컬럼 인덱스 생성 잘 됐는 지 확인하기
    1. SHOW INDEX FROM users;
 
 

✅ 데이터 조회할 때 인덱스를 어떻게 활용하는 지 과정 이해하기

아래 SQL문을 실행시킬 때 멀티 컬럼 인덱스를 어떻게 활용할 지 표로 이해해보자.
SELECT * FROM users WHERE 부서 = '인사' ORDER BY 이름;
notion image
(부서, 이름)으로 인덱스를 만들어놔서 WHERE 부서 = ‘인사’를 만족하는 데이터들은 금방 찾을 수 있다. 그런 뒤에 ORDER BY 이름을 기준으로 데이터를 정렬해야 하는데 이미 정렬이 되어 있다. 그래서 위 SQL문을 통해 데이터를 가져오는 속도가 굉장히 빠를 수 밖에 없다.
 
 
멀티 컬럼 인덱스를 만들고 활용하는 데는 크게 어려움이 없어보인다. 하지만 멀티 컬럼 인덱스를 만들 때 주의해야 할 점이 몇 가지 있다. 그 점에 대해서 알아보자.
 
author
category
MySQL
createdAt
series
비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
slug
type
series-footer
updatedAt
Jan 12, 2026 12:04 AM
📎
이 글은 비전공자도 이해할 수 있는 Docker 입문/실전 강의의 수업 자료 중 일부입니다.