Oracle 힌트절

2024. 11. 7. 13:04·개발/ORACLE
목차
  1. HINT 사용법
  2. 자주 사용하는 HINT 유형과 종류
  3. JOIN 방식
  4. JOIN 순서
  5. INDEX 스캔 방식
  6. 병렬 처리
728x90
반응형

오라클 힌트절에 대해 알아보자.

오라클의 옵티마이저가 최적의 실행 경로를 만들어 내지만

그럼에도 개발자들이 생각한 경로와 다르게 실행되는 경우가 종종 있다.

그럴 때 사용 하는 게 힌트절이라고 생각하면 된다. (옵티마이저가 힌트를 무시할 수도 있다.)

 

나는 서비스 중이고 이미 많은 데이터가 있고 인덱스 추가가 힘들 때 최후의 튜닝 방법으로 썼다.

보통은 인덱스 추가로 해결되는 경우도 많다.


HINT 사용법

힌트는 /*+ {hint} */  형태로 사용한다.

SELECT /*+ {hint} */
*
FROM DUAL;

자주 사용하는 HINT 유형과 종류

JOIN 방식

/*+ USE_NL(TABLE_NAME) */

  • NESTED LOOP JOIN

/*+ USE_HASH(TABLE_NAME) */

  • HASH JOIN

/*+ USE_MERGE(TABLE_NAME) */

  • SORT MERGE JOIN

 

JOIN 순서

/*+ LEADING(TABLE A, TABLE B, ...) */

  • HINT 내에 테이블 순으로 JOIN

 

INDEX 스캔 방식

/*+ INDEX(TABLE_NAME INDEX) */

  • INDEX 스캔

/*+ FULL(TABLE_NAME) */

  • TABLE FULL SCAN 유도

/*+ INDEX_{TYPE} (TABLE_NAME INDEX) */

  • TYPE - DESC
    • INDEX 역순으로 스캔
  • TYPE - FFS
    • INDEX FAST FULL SCAN
  • TYPE - SS
    • INDEX SKIP SCAN

 

병렬 처리

/*+ PARALLEL (TABLE_NAME 병렬수) */

  • 병렬수만큼 병렬처리

https://docs.oracle.com/cd/B10500_01/server.920/a96533/hintsref.htm

 

Optimizer Hints

Optimizer hints can be used with SQL statements to alter execution plans. This chapter explains how to use hints to force various approaches. The chapter contains the following sections: Understanding Optimizer Hints Hints let you make decisions usually ma

docs.oracle.com

외에도 힌트가 많으니 적재적소에 사용하기 바란다.

728x90
반응형
저작자표시

'개발 > ORACLE' 카테고리의 다른 글

ORACLE - AUTO_INCREMENT 기능 구현  (0) 2025.01.20
ORACLE - ORA-25156 ANSI 조인, (+)  (2) 2024.11.20
Oracle 인덱스  (0) 2024.08.16
Oracle Explain Plan Operation  (0) 2024.08.02
Oracle 튜닝 - 실행 계획  (0) 2024.08.02
  1. HINT 사용법
  2. 자주 사용하는 HINT 유형과 종류
  3. JOIN 방식
  4. JOIN 순서
  5. INDEX 스캔 방식
  6. 병렬 처리
'개발/ORACLE' 카테고리의 다른 글
  • ORACLE - AUTO_INCREMENT 기능 구현
  • ORACLE - ORA-25156 ANSI 조인, (+)
  • Oracle 인덱스
  • Oracle Explain Plan Operation
joolog
joolog
  • joolog
    JOO
    joolog
  • 전체
    오늘
    어제
    • 분류 전체보기 (163)
      • 개발 (81)
        • JAVA (29)
        • PYTHON (9)
        • AWS (15)
        • DOCKER (2)
        • PERCONA (2)
        • ORACLE (12)
        • MYSQL (1)
        • 알고리즘 (0)
        • 기타 (11)
      • 툴 (5)
        • MARKDOWN (1)
        • GIT (1)
        • DOCKER (1)
        • PyCharm (2)
        • IntelliJ (0)
      • 일상 (35)
        • 맛집 (6)
        • 카페 (2)
        • 요리 (4)
        • 글씨 연습 (2)
        • 그저 일상 (7)
        • 내돈 내산 (11)
        • 홍보 (1)
      • 국내 여행 (1)
      • 해외 여행 (15)
        • 체코-오스트리아 (10)
        • 일본 (5)
      • 암 일지 (26)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • 관리
    • 티스토리 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    체코
    히로시마
    mysql
    잘츠부르크
    글씨연습
    저요오드식
    오라클
    오블완
    요양병원
    jdbc
    Oracle
    티스토리챌린지
    오스트리아
    자바JDBC
    자바
    갑상선 암
    동위원소
    성모샘쉼터
    오닉스 리프3
    재발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
joolog
Oracle 힌트절

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.