SQL튜닝 - 조인 튜닝

alsoj·2023년 9월 15일

SQL튜닝

목록 보기
7/7

조인(Join)의 종류

Driving table = Outer table = 선행 테이블
Driven table = Inner table = 후행 테이블

  • Nested Loop Join (중첩 루프 조인)
  • Hash Join (해시 조인)
  • Sort Merge Join (소트 머지 조인)
    • 소트 머지 조인은 거의 사용되지 않는 추세

Join 순서/검색 양에 의한 수행 속도 비교

SELECT A.FLD2, A.FLD3, B.FLD3
FROM TAB1 A, TAB2 B
WHERE A.KEY = B.KEY
AND A.FLD1 = '10'
AND B.FLD2 LIKE 'A%'
;
  • SQL은 어떤 테이블이 먼저 액세스 되든 결과는 동일
  • A.FLD1 = '10' 조건은 통계정보에 의한 변별력 판단이 가능
  • B.FLD2 LIKE 'A%' 조건은 통계정보에 의한 변별력 판단이 불가
  • 어느 테이블을 먼저 액세스 해야 하는가?
    • 액세스 순서에 따라 전체 일량이 달라짐
    • 일량을 최소화하기 위해서 변별력이 좋은 테이블이 먼저 액세스 되어야 함

0개의 댓글