티스토리 뷰

SQL/SQL 튜닝

[SQL 튜닝] 인덱스

TORO_0513 2025. 3. 3. 16:47
반응형

1. 인덱스 장단점

장점 단점
1. 빠른 데이터 검색
   - 찾는 데이터 중 가지고 있는 데이터는 직접 준다
   - 찾는 데이터 중 없으면 어디있는지 알려준다

2. 데이터 중복 방지
   - Primary key 제약, Unique 제약

3. 잠금 최소화
  - 최소 범위의 잠금 가능
  - 동시성을 높여줌
1. 물리적 공간 차지
  - 테이블처럼 물리적인 공간 차지

2. 인덱스 유지관리 부담
  - select문에는 용이
  - DML문은 인덱스를 좋아하지 않음

3. 데이터가 극히 적다면 인덱스를 사용하지 않을 수 있음
    (얻는 효과보다 유지관리 부담이 클 수 있음)

 

 

2. 인덱스가 사용되지 않는 조건

  1) 인덱스 변형 

     - 예 : substr(name, 1, 3) = 'abc';

  2) not 연산자 (not, !=, <>)

     - 예 : name <> '홍길동';

  3) null, not null 

     - 예 : name is not null;

  4) Like 문

     - 예 : name like '%홍';

  5) 같은 테이블 다른 컬럼 비교

     - sal < amt

 

 

3. 인덱스 선정 기준

  - 분포도가 좋은 컬럼 단독 생성

  - 자주 조합하여 사용되는 컬럼의 경우 결합인덱스 생성 (컬럼 순서 주의)

  - 가능한 수정이 빈번하지 않는 컬럼

  - 기본키 및 외부키

반응형
댓글