#Query Hint(쿼리 힌트)
SQL을 튜닝할때 쓰이는 지시구문
SQL이 실행될때 Optimizer가 분석하고 최적으로 선택(인덱스 등)을 하여 실행되는데
이때 사용자 임의대로 설정하여 Optimizer의 실행계획을 원하는대로 바꿀 수 있다
#인덱스 힌트
SELECT *
FROM 테이블명 WITH (INDEX(인덱스명));
SELECT *
FROM MstGoods WITH (INDEX(ClusteredIndex_Num));
테이블에 클러스터드 인덱스가 존재하는 경우
INDEX (0)는 클러스터형 인덱스 스캔을 강제하고
INDEX (1)은 클러스터형 인덱스 스캔 또는 검색을 강제한다
GoodsNum : 클러스터드 인덱스
GoodsId : 논 클러스터드 인덱스
--논 클러스터드 인덱스 Seek
SELECT GoodsNum,GoodsId
FROM MstGoods;
--클러스터드 인덱스 Scan
SELECT GoodsNum,GoodsId
FROM MstGoods WITH (INDEX(0));
#JOIN 힌트
//방법1
INNER LOOP|HASH|MERGE|REMOTE JOIN
ON 조건
//방법2
INNER JOIN
ON 조건
OPTION(LOOP|HASH|MERGE|REMOTE JOIN)
'DB > MSSQL' 카테고리의 다른 글
[MSSQL] Trigger(트리거) (0) | 2021.01.19 |
---|---|
[MSSQL] 제약조건(CONSTRAINT) (0) | 2021.01.18 |
[MSSQL] 상위 n개 출력하기 (0) | 2021.01.12 |
[MSSQL] SQL최적화(실행계획, Index, Scan, Seek) (0) | 2021.01.03 |
[MSSQL] 인덱스(클러스터드, 논 클러스터드) (0) | 2021.01.02 |