드라이빙 테이블: Difference between revisions

From CS Wiki
(새 문서: '''관계형 데이터베이스에서 NESTED LOOPS JOIN 수행 시 옵티마이저가 JOIN의 기준으로 지정하는 테이블''' * 드라이밍 테이블이 아닌 테이블은...)
 
No edit summary
Line 5: Line 5:
== 튜닝 포인트 ==
== 튜닝 포인트 ==
옵티마이저의 선택이 최적이 아닌 경우, 테이블 간 조인 횟수를 최소화 할 수 있는 드라이빙 테이블을 직접 지정하여 조인 순서 제어
옵티마이저의 선택이 최적이 아닌 경우, 테이블 간 조인 횟수를 최소화 할 수 있는 드라이빙 테이블을 직접 지정하여 조인 순서 제어
 
* 힌트 사용
* /*+ ORDERED USE_NL(테이블A, 테이블B) */ 힌트로 순서 조정 가능
** /*+ LEADING(테이블A) */  -- 드라이밍 테이블 지정
** /*+ ORDERED USE_NL(테이블A, 테이블B) */ -- 여러 테이블 간 순서 제어


== 선정 고려사항 ==
== 선정 고려사항 ==

Revision as of 22:29, 28 August 2021

관계형 데이터베이스에서 NESTED LOOPS JOIN 수행 시 옵티마이저가 JOIN의 기준으로 지정하는 테이블

  • 드라이밍 테이블이 아닌 테이블은 드리븐 테이블(Driven Table)로 지정

튜닝 포인트

옵티마이저의 선택이 최적이 아닌 경우, 테이블 간 조인 횟수를 최소화 할 수 있는 드라이빙 테이블을 직접 지정하여 조인 순서 제어

  • 힌트 사용
    • /*+ LEADING(테이블A) */ -- 드라이밍 테이블 지정
    • /*+ ORDERED USE_NL(테이블A, 테이블B) */ -- 여러 테이블 간 순서 제어

선정 고려사항

  • 데이터가 적은 마스터테이블이거나 WHERE절 조건으로 적절하게 row를 제어할 수 있어야 함
  • 드라이빙 테이블에서는 조인을 위한 적절한 인덱스가 생성되어 있어야 함

같이 보기