반응형
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)
반응형