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

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

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

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

기본으로 설정되는 인덱스 (PK)

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

✅ 기본키 (Primary Key, PK)

테이블에서 특정 데이터를 식별하기 위한 키를 보고 기본키(Primary Key, PK)라고 부른다. 대부분의 경우에 테이블을 생성할 때 PK를 설정한다. PK의 특징 중 하나는 PK를 기준으로 정렬을 해서 데이터를 보관한다. 실제 그런지 테스트 해보자.
 
 
PK가 포함된 users 테이블을 하나 만들어보자.
DROP TABLE IF EXISTS users; # 기존 테이블 삭제 CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(100) );
 
 
그러고 DB에 데이터를 4개 넣어보자.
INSERT INTO users (id, name) VALUES (1, 'a'), (3, 'b'), (5, 'c'), (7, 'd'); SELECT * FROM users;
Before
Before
 
그런 뒤에 id가 7인 값을 2로 바꾼 뒤 데이터를 다시 조회해보자.
UPDATE users SET id = 2 WHERE id = 7; SELECT * FROM users;
After
After
 
id 컬럼을 기준으로 정렬되어 있는 채로 데이터가 조회된다. 왜냐하면 PK가 인덱스의 일종이기 때문이다. 이렇게 원본 데이터 자체가 정렬되는 인덱스를 보고 클러스터링 인덱스라고 부른다. PK(Primary Key) = 클러스터링 인덱스라고 생각해도 된다. 클러스터링 인덱스는 PK(Primary Key) 밖에 없기 때문이다.
(클러스터링 인덱스라는 용어가 엄청나게 중요한 건 아니기 때문에 기억하기 어렵다면 일단 무시하고 넘어가자.)
 
인덱스가 실제 적용되어 있는 지 아래 SQL문으로 확인해보자.
# 특정 테이블 인덱스 조회 # SHOW INDEX FROM 테이블명; SHOW INDEX FROM users;
 
 
⭐
[이것만은 꼭 기억해두자!] - PK에는 인덱스가 기본적으로 적용된다. - PK에는 인덱스가 적용되어 있으므로 PK를 기준으로 데이터가 정렬된다.
 
 
 
 
author
category
MySQL
createdAt
series
비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
slug
type
series-footer
updatedAt
Jan 12, 2026 12:04 AM
📎
이 글은 비전공자도 이해할 수 있는 Docker 입문/실전 강의의 수업 자료 중 일부입니다.