본문 바로가기
IT/Database

[Oracle] 옵티마이저 힌트 및 실행계획

by 성준하이 2022. 10. 1.
반응형

옵티마이저는 쿼리문을 실행할 경우 다양한 실행 경로를 생성하고 비교하여 최적의 경로를 만들어준다.

자세한 내용은 아래 참고 포스팅을 참고하면 도움이 될것이다.

 

참고포스팅에서는 옵티마이저나 최적화에 대해서 알게 되는데

그럼 옵티마이저 힌트는 언제 어떻게 사용하는지에 대해서 알아볼 것이다.

 

옵티마이저 힌트는 우선 아래와 같은 방식으로 사용을 한다.

select /*+ hint 기술 */ a, b, c from table;

/*+ 과 */ 로 쌓여진 주석같은 구문 안에 작성을 한다.

 

사용하는 이유는 옵티마이저가 계획한 실행 경로가 상황에 따라 최적이 아닐 경우가 있다.

  • 옵티마이저가 계산한 인덱스보다 효율적인 인덱스가 존재
  • 스캔의 종류 변경(인덱스 / 풀 스캔)
  • 옵티마이저가 계산한 조인보다 효율적인 조인이 존재

등의 경우가 있고 이밖에도 많은 힌트를 지정할수 있는데 그럴 경우에 옵티마이저 힌트를 사용하게 된다.

 

조인의 종류 역시 아래 참고 포스팅을 참고 바란다.

 

옵티마이저 힌트의 종류는 아래와 같다.


참고 포스팅

https://thenicesj.tistory.com/93

 

데이터베이스 실행계획

dbms에서 쿼리를 날리면 데이터베이스에서는 3단계를 거친다. sql 파싱 sql 최적화 sql 실행 순서를 거치는데 간단하게 설명을 하면 파싱부분에서는 syntax, semantic 등의 구문오류나 대상이 올바르게

thenicesj.tistory.com

https://thenicesj.tistory.com/260

 

Join의 종류

데이터베이스에서 join이라고 하면 다들 inner join이나 left outerjoin 혹은 cross join 등은 많이 들어봤을 것이다. 하지만 이런 조인은 조인의 종류로 나뉜것으고 이 종류들이 데이터베이스에서 수행하

thenicesj.tistory.com

 

반응형

'IT > Database' 카테고리의 다른 글

[Mysql] 실행한 query log 확인 및 추적 하는 법  (41) 2022.10.09
[Mysql] 문자열 추출 및 인덱싱  (57) 2022.10.06
[Mysql] 라이센스  (25) 2022.09.30
[Mysql] 문자열 추출  (36) 2022.09.27
[Mysql] 에서 데이터를 엑셀 파일로 저장  (43) 2022.09.25

댓글