Skip to content

12.3 인덱스 튜닝

인덱스는 실제 조건식과 조인 키의 읽기 비용을 줄일 때만 추가합니다. 생성 전후의 쿼리 지연, 입력 처리량, 메모리·스토리지를 함께 측정합니다.

테이블별 확인

테이블 타입기본 키·접근 경로추가 인덱스
TAG이름과 BASETIME 기반 접근지원 값·메타데이터 인덱스
LOG_ARRIVAL_TIME 범위LSM, BITMAP, KEYWORD
LOOKUPPRIMARY KEY지원 보조 인덱스
VOLATILE선택한 PRIMARY KEYREDBLACK 보조 인덱스
TRANSACTIONPRIMARY KEY관계형 보조 인덱스

지원되는 인덱스 타입과 구문은 테이블별 장과 인덱스 구문을 확인합니다.

적용 순서

  1. 느린 SQL의 EXPLAIN과 결과 건수를 기록합니다.
  2. 조건식의 선택도와 값 분포를 확인합니다.
  3. 이미 같은 선두 컬럼을 가진 인덱스가 있는지 확인합니다.
  4. 후보 인덱스 하나를 생성하고 구축 완료를 확인합니다.
  5. 같은 조건에서 쿼리와 입력을 다시 측정합니다.
  6. 효과가 없거나 쓰기 비용이 큰 인덱스는 제거합니다.
SHOW INDEXES;
SHOW INDEXGAP;

고정된 “인덱스 개수별 처리량 감소율”을 적용하지 않습니다. 행 크기, 키 분포, 동시성, 스토리지에 따라 결과가 달라지므로 운영과 유사한 데이터로 측정합니다.

주의사항

  • 낮은 선택도의 컬럼에 인덱스를 추가하기 전에 스캔과 비교합니다.
  • 함수·형변환으로 인덱스 컬럼을 감싸 키 범위를 잃지 않는지 확인합니다.
  • 복합 인덱스는 자주 쓰는 조건식 조합과 선두 컬럼을 기준으로 설계합니다.
  • 인덱스 구축 중 입력·쿼리 부하와 SHOW INDEXGAP을 관찰합니다.
  • 미사용 인덱스를 제거하기 전 최대 부하·배치 업무에서도 쓰이지 않는지 확인합니다.

테이블별 상세 내용은 TAG, LOG, LOOKUP, VOLATILE, TRANSACTION 장의 “인덱스와 성능” 페이지를 참고합니다.

최근 업데이트