옵티마이저 조인

Su·2023년 5월 24일
0

NESTED LOOP 조인

  • 하나의 테이블에서 데이터를 먼저 찾고 그다음 테이블을 조인하는 방식
  • 먼저 조회되는 테이블을 외부테이블(OUTER TABLE), 그다음 조회되는 테이블을 내부테이블(INNER TABLE)이라 한다.
  • 외부테이블(선행테이블)의 크기가 작은 것을 먼저 찾는 것이 중요.
  • RANDOM ACCESS 발생되어 성능 지연 발생. RANDOM ACCESS의 양을 줄여야 성능 향상.

SORT MERGE 조인

  • 두 개의 테이블을 SORT_AREA 라는 메모리 공간에 모두 로딩 하고 SORT(정렬)을 수행한다.
  • 두 개의 테이블에 대해서 SORT(정렬)가 완료되면 두 개의 테이블을 병합(MERGE)한다.
  • 정렬이 발생하기 때문에 데이터양이 많아지면 성능이 저하된다.

HASH 조인

  • 두 개의 테이블 중에서 작은 테이블을 HASH메모리에 로딩하고 두 개의 테이블의 조인 키를 사용해서 해시 테이블을 생성한다.
  • 주소를 계산하고 이 주소를 사용해서 테이블을 조인하기 때문에 CPU 연산을 많이 한다.
  • 선행 테이블이 충분히 메모리에 로딩되는 크기여야 한다.
profile
공부 중

0개의 댓글