| 인덱스 유형 | 특성 | 적합 용도 |
|---|---|---|
| B-Tree 인덱스 | 균형 이진 트리 구조. 범위 검색·정렬에 최적. 대부분 기본 인덱스 유형 | 등가 검색, 범위 검색, ORDER BY |
| 복합(Composite) 인덱스 | 여러 컬럼을 조합. 첫 번째 컬럼 선택도 중요 (카디널리티 높은 컬럼 앞에 배치) | WHERE 조건이 여러 컬럼일 때 |
| 커버링(Covering) 인덱스 | SELECT 컬럼을 모두 인덱스에 포함. 테이블 액세스 없이 인덱스만으로 쿼리 처리 | 자주 실행되는 SELECT 쿼리 최적화 |
| 파티셔닝 | 테이블을 Range·List·Hash로 분할. 파티션 프루닝으로 전체 스캔 회피 | 대용량 시계열 데이터, 날짜 기반 조회 |
인덱스 설계 원칙: ① 선택도 높은 컬럼 우선 ② WHERE·JOIN·ORDER BY 기준 컬럼 ③ DML 빈도 높은 테이블은 인덱스 최소화 (쓰기 성능 영향)
EXPLAIN ANALYZE (PostgreSQL) 또는 EXPLAIN (MySQL)으로 실행 계획을 확인한다.
| 주요 확인 항목 | 의미·해석 |
|---|---|
| Full Table Scan | 인덱스 미사용. WHERE 조건에 맞는 인덱스 생성 검토 |
| Index Scan vs Index Only Scan | Index Only Scan이 더 효율적. 커버링 인덱스로 전환 |
| Nested Loop vs Hash Join | 소규모 결과셋: Nested Loop, 대규모: Hash Join이 유리 |
| Row 추정치 | 통계 정보 오래됨 시 rows 추정 오류 → ANALYZE/VACUUM 실행 |
| 구분 | OLTP | OLAP |
|---|---|---|
| 목적 | 트랜잭션 처리 (주문·결제·업데이트) | 분석·집계 쿼리 (매출 분석, 트렌드) |
| 데이터 모델 | 3NF (정규화) — 중복 최소화, 쓰기 최적화 | Star Schema / Snowflake Schema — 읽기 최적화 |
| 쿼리 특성 | 단순·짧은 트랜잭션, 수 ms 응답 | 복잡한 GROUP BY·집계, 수 분 이상 |
| 저장소 | Row-Oriented (MySQL, PostgreSQL) | Column-Oriented (Redshift, BigQuery, ClickHouse) |
| Star Schema | — | 중앙 Fact Table + 주변 Dimension Table. JOIN 최소화, 집계 고속 |
RDBMS 성능 최적화는 선택도 높은 인덱스 설계, 커버링 인덱스로 테이블 액세스 최소화, 파티셔닝으로 스캔 범위 축소가 핵심이다. OLTP는 3NF 정규화와 Row-Store, OLAP는 Star Schema와 Column-Store로 각 워크로드에 최적화된 모델링을 선택해야 한다.
AI 감시 소프트웨어가 재택근무 시대를 끝내고 있다. 직원의 키스트로크·화면·표정까지 추적하는 기술의 실체와, 한국 직장인이 알아야…
정보보안기사 실기는 개념을 아는 것보다 로그를 읽고, 규칙을 쓰고, 계산하는 힘에서 점수가 갈립니다. 이번 글은…
호르무즈 해협 뉴스는 이제 '또 공격이 있었다'보다 '얼마나 늘었나'를 봐야 합니다. 이투데이가 FT와 영국해사무역기구(UKMTO) 등을…
이번 추석 연휴, 은행들은 쉬지 못했습니다. 연휴 기간 금융권에서 대규모 개인정보 유출 사고가 터졌기 때문입니다.…
"집 못 팔게 막으면 값이 내려가겠지." 서울 전역이 토지거래허가구역으로 묶이던 1년 전, 이런 기대가 있었습니다.…
다섯 거래일 연속 밀린 코스피가 오늘 아침 크게 반등했습니다. 오전 9시 12분 기준 6,165.02로 전…