그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Database
Database

데이터베이스 인덱스에 대해서 설명해주세요

실무4/5
설계4/5
인간4/5
기초4/5

면접관의 질문 의도

인덱스가 "검색을 빠르게 해주는 것" 정도인지, _자료구조·스캔 방식·쓰기 비용_까지 묶어 트레이드오프로 말하는 사람인지를 가른다.

큐레이션 답변

학습 자료

인덱스는 검색 속도를 높이기 위해 컬럼 값을 정렬 구조(주로 B-Tree)에 별도로 저장하는 자료구조다. InnoDB 기준 클러스터드 인덱스 리프에는 행 데이터가, 세컨더리 인덱스 리프에는 _PK_가 저장되어 PK로 다시 찾아가는 "북마크 조회"가 일어날 수 있다. 또한 인덱스 활용은 _레인지 스캔·풀 인덱스 스캔·루스 인덱스 스캔·풀 테이블 스캔_처럼 실행 방식이 다양해, 같은 인덱스라도 쿼리 조건과 카디널리티에 따라 옵티마이저가 다른 경로를 고른다. 즉 인덱스 설계는 _자료구조 + 옵티마이저 동작_을 같이 보는 작업이다.

좋은 답변 구조

  1. 01B-Tree 구조와 클러스터드/세컨더리 인덱스 차이를 정의한다
  2. 02레인지 스캔·풀 인덱스 스캔·풀 테이블 스캔 같은 실행 방식의 흐름을 설명한다
  3. 03북마크 조회·커버링 인덱스 같은 _분기 동작_과 카디널리티 영향을 짚는다
  4. 04쓰기 비용 증가·인덱스 부풀림 같은 운영 부담과 EXPLAIN 활용으로 마무리한다

자주 실수하는 포인트

인덱스를 "많이 걸면 무조건 빠르다"고 단정한다
세컨더리 인덱스 조회에서 PK로 재탐색이 일어난다는 사실을 모른다
복합 인덱스의 _선두 컬럼_ 규칙을 모르고 컬럼 순서를 아무렇게나 잡는다
쓰기 비용·디스크 사용량·캐시 효율에 미치는 영향을 빠뜨린다

실무 맥락

  • 조회는 빠른데 INSERT/UPDATE가 점점 느려지는 운영 DB 점검
  • EXPLAIN 결과 인덱스를 안 타거나 풀 테이블 스캔이 나오는 쿼리 튜닝
  • 복합 인덱스 컬럼 순서와 정렬 방향을 재설계하는 작업

본인 경험에 녹이는 힌트

EXPLAIN을 보고 "인덱스를 안 탄다"의 원인을 카디널리티/타입 캐스팅에서 찾아본 경험이 있다면 그 케이스가 그대로 답변 후크가 된다

복합 인덱스의 컬럼 순서를 재배치해 쿼리 시간이 줄어든 경험이 있다면 _선두 컬럼_ 규칙 이야기로 이어진다

인덱스를 추가했다가 _쓰기 처리량이 떨어진_ 경험이 있다면 트레이드오프를 정량으로 보여줄 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1세컨더리 인덱스 조회에서 PK 재탐색이 생기는 이유는 무엇인가요
Q2레인지 스캔과 풀 스캔은 어떤 조건에서 선택되나요
Q3인덱스가 오히려 성능을 떨어뜨리는 경우는 언제인가요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문