컴퓨터과학/DB

[데이터베이스]SQL 튜닝 기본 용어_스캔방식

znvlcm 2022. 12. 16. 15:29

출처 : 도서<업무에 바로 쓰는 SQL 튜닝>

1. 오브젝트 스캔유형 

1) 테이블 스캔 : 인덱스를 거치지 않고 바로 데이터에 접근하는 유형

테이블 풀 스캔 

테이블 풀스캔 방식은 인덱스 없이 데이터에 접근할 수 있는 유일한 방법이다. 

주로 where절에 활용할 수 있는 인덱스 컬럼이 없거나 

전체 데이터 양에 비해 대량의 데이터를 불러올 때 사용한다. 

하지만 테이블을 직접 접근하는 방식이기 때문에 다소 성능이 떨어지는 단점이 있다. 

2) 인덱스 스캔: 인덱스를 통해 테이블 데이터를 찾아가는 유형 

(1) 인덱스 범위 스캔 :

  • 인덱스를 기준으로 삼아 데이터를 찾는 방식
  • 좁은 범위에 효율적
  • WHERE절의 BETWEEN A AND B/ < / > /  LIKE 

(2) 인덱스 풀 스캔 : 

  • 인덱스 탐색을 처음부터 끝까지 수행
  • 인덱스 구성 열정보만 요구할 때 수행 
  • 테이블 풀 스캔방식에 비해 성능상 유리하나 최대한 검색 범위를 줄일 수록 유리

(3) 인덱스 고유 스캔

  • 기본키나, 고유 인덱스로 테이블에 접근하는 방식 
  • 인덱스 스캔방식중 가장 효율적
  • 해당 조인 컬럼이 기본 킨 혹은 고유 인덱스의 선두열로 설정되고, WHERE절의 '='

(4) 인덱스 루스 스캔

  • 인덱스의 필요한 부분만 골라 스캔하는 방식 
  • WHRE절의 조건문 기준, 필요한 데이터컬럼의 인덱스만 스캔
  • 주로 GROUP BY, MAX(), MIN()

(5) 인덱스 병합 스캔

  • 테이블 내 생성된 인텍스를 통합해 스캔
  • 옵티마이저의 실행 계획에 의해 조건절의 컬럼들을 가져와 결합과 교체방식을 통해 활용하여 실행
  • 이 경우 별개로 존재하는 인덱스들에 대해 각각 스캔이 실행되기 때문에 인덱스통합이나, 하나의 인덱스로 통일하는 튜닝 필요

 

 

 

 

728x90