[SQL 튜닝] 드라이빙 테이블(DRIVING TABLE)의 개념/결정 규칙

일단 조인 시 driving table로서 row수가 적은 테이블이 선정되여야 하는 것은 분명하다.

그럼 어떻게 이건 결정되는 걸까?

Driving / Driven 테이블 결정규칙

  1. **규칙기반 옵티마이저(Rule Based Optimizer, RBO)**에서는 연산자, 인덱스 유무, 조건절 형태 등 정해진 규칙의 우선순위에 따라 실행계획을 생성한다.

  2. 비용기반 옵티마이저 (Cost Based Optimizer, CBO) - 규칙의 우선순위 X 소요 예상 비용 바탕으로 실행 계획 생성.

⇒ 고정 시키려면 STRAIGHT_JOIN을 사용하자!