본문 바로가기
카테고리 없음

MYSQL 5.7 INDEX 힌트, 풀스캔 힌트

by 성곤 2021. 11. 17.
반응형

테이블 FULLSCAN 실행계획(ALL)

 

MYSQL INDEX 힌트, 풀스캔 힌트 방법

 

/* 예시 쿼리 */
SELECT 
	COL_01
	, COL_02
	, COL_03
FROM TABLE_NAME 


/* 인덱스 사용 */
SELECT 
	COL_01
	, COL_02
	, COL_03
FROM TABLE_NAME USE INDEX (IDX_NAME_01)

/* 인덱스 강하게 힌트 사용 
* USE INDEX와 동일하나, 경우에 따라 더 좋은 방법이 있다면 Mysql 내에서 무시할 수 있다.
* 억지로 사용하게 만들려면 force index 사용
*/
SELECT 
	COL_01
	, COL_02
	, COL_03
FROM TABLE_NAME FORCE INDEX (IDX_NAME_01)


/* 인덱스 사용(PK) */
SELECT 
	COL_01
	, COL_02
	, COL_03
FROM TABLE_NAME USE INDEX (PRIMARY)



/* 인덱스 미사용 힌트
 * 인덱스 제외시키는 힌트로서 JOIN, WHERE 절 등 사용되는 인덱스를 모두 입력하여 풀스캔(실행계획 ALL)을 유도한다
 * 
 * 사실 풀스캔 힌트는 존재하지 않음.. 제외시키는 힌트로 풀스캔 유도..
 */
SELECT 
	COL_01
	, COL_02
	, COL_03
FROM TABLE_NAME IGNORE INDEX (PRIMARY, IDX_NAME_01, IDX_NAME_02)
반응형