| 인덱스 유형 | 특성 | 적합 용도 |
|---|---|---|
| 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로 각 워크로드에 최적화된 모델링을 선택해야 한다.
요양원 선택 전 반드시 확인해야 할 체크리스트를 공개합니다. 공식 평가 자료 조회법, 방문 시 확인…
공공기관 채용 비리의 실태와 피해 지원자의 대응법을 정리했습니다. 채용 비리 신고 방법, 공익신고자 보호제도, 취준생…
주식 손실을 세금 절약에 활용하는 합법적 방법을 공개합니다. 해외주식 손익통산, ISA 계좌 활용, 연금계좌 절세까지…
배달이 예상 시간보다 크게 늦으면 취소·환불을 요청할 수 있습니다. 배달앱별 지연 취소 방법과 잘못 배달됐을…
통신비 절약의 핵심은 요금제 최적화입니다. 내 데이터 사용량 확인법, 알뜰폰 전환 비교, 위약금 없이 요금제…