홈 › 대용량·배치 › 02 / 8

조인 방식: Nested Loop, Hash, Sort Merge 와 드라이빙 테이블

섹션 6진행 0 / 8

5. 자주 하는 실수 (Tip)

실수 1: FROM 순서로 드라이빙 표를 정한다고 생각한다

FROM 에 작은 표를 먼저 써도 옵티마이저는 통계로 순서를 다시 고릅니다. 순서를 바꾼 쿼리가 빨라졌다면 대개 통계가 바뀌었거나 조건이 달라진 것입니다. 정말 고정해야 하면 힌트를 씁니다.

실수 2: Nested Loop 인데 안쪽 조인 키에 인덱스가 없다

바깥 행마다 안쪽 표를 통째로 훑어 행 수의 곱만큼 읽습니다. 예제 3 의 인덱스 없는 계획처럼 큰 표가 먼저 읽히기도 합니다. 조인 키 컬럼에 인덱스가 있는지 먼저 확인합니다.

실수 3: 범위 조인이 느린데 Hash 를 기대한다

BETWEEN, <, > 같은 조건은 Hash 로 처리할 수 없습니다. 이런 조인이 대용량이면 범위를 좁혀 바깥 행을 줄이거나, 등가로 바꿀 수 있는지(등급 코드를 미리 붙이기) 검토합니다.