본문 바로가기

옵티마이저2

DB 오라클 - 자주 사용하는 힌트절 이번 글에서는 간단히 자주 사용되는 오라클 힌트 절에 대해서 작성해 볼 것이다. '개발자를 위한 인덱스 생성과 SQL 작성 노하우(이병국)'을 참고하여 작성하였다. DB에서 옵티마이저는 최적의 실행계획을 결정한다. 하지만 그렇다고 해서 옵티마이저가 만능이라는 것은 아니다. 옵티마이저도 잘못된 SQL이나 부정확한 통계정보로 인하여 실수도 할 수 있다. 이럴 때는 힌트 절을 통해 잘못된 실행계획을 바로 잡을 수 있다. 즉, 힌트 절은 옵티마이저의 실수를 만회할 수 있는 용도로 사용할 수 있는 것이다. 옵티마이저에 대한 내용은 https://khdscor.tistory.com/m/52 를 참고하길 바란다. 데이터베이스 옵티마이저에 대한 간단 설명 데이터베이스를 사용하다 보면 여러 가지 인덱스를 만들어 놓는 경.. 2022. 4. 30.
데이터베이스 옵티마이저에 대한 간단 설명 데이터베이스를 사용하다 보면 여러 가지 인덱스를 만들어 놓는 경우가 많다. 어느 테이블에서 무엇인가 조회를 하는 방법은 그 테이블에 사용되는 다양한 인덱스 중 어느 인덱스를 사용할지, 조인을 했다면 어느 테이블부터 조회할지 등 실행 방법에는 다양한 경우가 있을 수 있다. 이러한 방법 중에 최적의 방법을 실행하는 것이 가장 효율적일 것이다. 여기서 어떤 실행에 대해서 최적의 루트를 계산해 실행하는 것이 '옵티마이저'이다. 옵티마이저에는 크게 CBO(Cost Based Optimizer) 즉, 비용 기반 옵티마이저와 RBO(Rule Based Optimizer) 즉, 규칙 기반 옵티마이저로 두가지로 나뉠 수 있다. RBO는 규칙 기반 옵티마이저로서 미리 정해진 우선 순위 규칙에 따라 접근 경로를 결정한다. .. 2022. 4. 18.