복합 인덱스의 열 순서는 어떻게 정하나요?
동등 조건, 범위 조건, 정렬·조인 조건과 데이터 분포를 함께 봅니다. 자주 쓰이는 쿼리의 실행 계획을 기준으로 정하고, 쓰기 비용과 인덱스 수 증가도 트레이드오프로 말합니다.
PRACTICAL LANGUAGE GUIDE
SQL의 데이터 모델링, 쿼리 성능, 트랜잭션과 잠금, 시스템 설계·면접 준비를 정리한 실무 가이드입니다.
먼저 업무 규칙을 테이블의 키·제약 조건·트랜잭션 경계로 번역하세요. 조회는 필요한 열과 조건을 분명히 쓰고 실행 계획으로 인덱스가 실제로 쓰이는지 확인합니다. 대량 갱신은 짧은 배치와 재시도 정책으로 나누며, 잠금 순서를 팀 규칙으로 만듭니다.
저장·조회·집계가 있는 거의 모든 서비스에 필수입니다. 특정 DB 문법 암기보다 관계형 모델, 격리 수준, 인덱스와 실행 계획을 먼저 익히면 PostgreSQL·MySQL·SQL Server가 바뀌어도 원리를 옮길 수 있습니다.
SELECT o.customer_id, SUM(o.total_amount) AS revenue
FROM orders AS o
WHERE o.created_at >= :from
AND o.created_at < :to
AND o.status = 'paid'
GROUP BY o.customer_id
ORDER BY revenue DESC
LIMIT 20;
-- 후보 인덱스: (status, created_at, customer_id)
-- 실제 적용 전에는 EXPLAIN으로 선택도와 비용을 확인한다.필터·정렬·그룹화 순서를 읽고, 인덱스는 추측이 아니라 실행 계획과 실제 분포로 검증합니다.
INTERVIEW PREP
동등 조건, 범위 조건, 정렬·조인 조건과 데이터 분포를 함께 봅니다. 자주 쓰이는 쿼리의 실행 계획을 기준으로 정하고, 쓰기 비용과 인덱스 수 증가도 트레이드오프로 말합니다.
동시에 읽고 쓰는 요청에서 더티 리드·반복 불가 읽기·팬텀 같은 이상 현상과 성능 사이를 조절합니다. 재고 차감처럼 불변식이 중요한 흐름은 잠금·조건부 갱신·재시도를 포함해 설계합니다.
NEXT STEP