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

통계 정보와 힌트

옵티마이저가 계획을 고르는 근거와 강제하는 법
섹션 6진행 0 / 8

5. 자주 하는 실수 (Tip)

실수 1: 계획이 이상하면 곧바로 힌트를 붙인다

느린 쿼리에 힌트부터 붙이면 원인인 통계가 그대로 남습니다. 같은 표를 쓰는 다른 쿼리도 계속 틀린 예상을 받습니다. 예상 행 수와 실제 행 수를 비교하고, 크게 다르면 통계 수집을 먼저 시도합니다.

실수 2: 대량 적재 뒤에 통계를 수집하지 않는다

자동 수집은 적재 직후에 이미 끝나 있지 않습니다. 배치 마지막에 통계 수집을 넣어야 다음 조회부터 새 분포를 봅니다. 다만 수집이 오래 걸리는 큰 표는 샘플링 비율을 DB 문서에서 확인합니다.

실수 3: 힌트가 적용된 줄 알고 확인하지 않는다

Oracle 은 힌트가 틀려도 오류를 내지 않습니다. 별칭이 FROM 과 다르거나 인덱스 이름에 오타가 있으면 힌트는 조용히 무시됩니다. 힌트를 넣은 뒤에는 실행 계획에서 원하는 연산이 나왔는지 봅니다.

팁

힌트를 써야 한다면 이유와 날짜를 주석으로 남깁니다. 예를 들어 "통계 치우침 때문에 고정, 재검토 필요" 라고 적어 두면 나중에 이 힌트를 지워도 되는지 판단할 수 있습니다.