728x90
반응형

인덱스설계 3

정적 인덱싱(Static Indexing) vs 동적 인덱싱(Dynamic Indexing)

개요데이터베이스와 검색 시스템에서 인덱스는 성능을 결정짓는 핵심 요소입니다. 특히 정적 인덱싱(Static Indexing)과 동적 인덱싱(Dynamic Indexing)은 데이터의 갱신 주기와 활용 목적에 따라 다른 전략을 취해야 합니다. 이 글에서는 두 방식의 개념, 차이점, 사용 예시, 장단점, 실무 전략을 체계적으로 비교 분석합니다.1. 개념 및 정의 구분 정의 적용 영역 정적 인덱싱데이터를 수집한 후 일괄적으로 인덱스를 생성배치 처리 기반, 문서 검색 시스템 등동적 인덱싱데이터가 추가·변경될 때마다 실시간으로 인덱스를 갱신실시간 검색, 온라인 트랜잭션 처리 (OLTP)정적 인덱싱은 초기 구축 비용이 높지만 안정적이며, 동적 인덱싱은 유연하고 즉시성 있는 반응이 장점입니다.2. 작동 방식단계정..

Topic 2025.04.20

커버링 인덱스(Covering Index)

개요커버링 인덱스(Covering Index)는 SQL 실행 시 필요한 컬럼들이 모두 인덱스에 포함되어 있어, 테이블 액세스 없이 인덱스만으로 결과를 반환할 수 있는 고성능 인덱스 설계 기법입니다. 특히 대용량 테이블에서 응답 속도를 향상시키고 I/O를 획기적으로 줄일 수 있어 성능 튜닝의 강력한 도구로 활용됩니다. 본 포스트에서는 커버링 인덱스의 개념, 작동 원리, 장단점, 실무 적용 전략 등을 다룹니다.1. 개념 및 정의 항목 설명 정의SELECT 절에서 필요한 모든 컬럼이 인덱스에 포함된 상태목적테이블 액세스 생략 → 디스크 I/O 최소화적용 조건WHERE, SELECT, ORDER BY 컬럼이 모두 인덱스 포함 시 적용 가능커버링 인덱스를 활용하면 TABLE ACCESS BY INDEX ROWI..

Topic 2025.04.20

인덱스 선택 지침(Index Selection Guide)

개요인덱스는 SQL 성능을 좌우하는 가장 강력한 도구 중 하나입니다. 그러나 인덱스는 '많이 만든다고 좋은 것'이 아닌, '잘 만들어야 의미 있는 것'입니다. 잘못된 인덱스는 오히려 성능 저하와 리소스 낭비를 초래할 수 있습니다. 본 포스트에서는 실무 관점에서 효율적인 인덱스 설계를 위한 선택 지침과 전략을 상세히 안내합니다.1. 인덱스 설계의 기본 원칙 원칙 설명 이유 최소화꼭 필요한 컬럼에만 생성과다 인덱스는 쓰기 성능 저하 유발자주 쓰는 조건 위주WHERE, JOIN, ORDER BY 대상 컬럼쿼리 효율 극대화 가능카디널리티 고려중복률 낮은 컬럼 중심 설계인덱스 선택 가능성 ↑커버링 인덱스 활용SELECT 컬럼 포함한 인덱스 구성테이블 액세스 생략 가능복합 인덱스 순서 고려조건절에서 앞 컬럼 사..

Topic 2025.04.20
728x90
반응형