실행 계획 분석·인덱스 재설계·통계 업데이트로 MSSQL 대용량 튜닝 결
MSSQL에서 대용량 데이터 쿼리 튜닝을 시작할 때 가장 먼저 확인하는 것은 실행 계획입니다. SET STATISTICS IO ON으로 논리적 읽기 수를 확인하고, 실행 계획에서 테이블 스캔이나 키 조회가 발생하는 지점을 찾아 인덱스 개선 우선순위를 정했습니다.
인덱스 재설계가 가장 큰 효과를 냈습니다. 커버링 인덱스를 활용해 자주 조회되는 컬럼을 인덱스에 포함시키면 키 조회 없이 인덱스만으로 결과를 반환할 수 있어 I/O가 크게 줄었습니다. 인덱스 단편화가 심한 경우 재구성도 병행했습니다.
통계 정보 관리도 중요했습니다. 데이터 분포가 크게 바뀐 테이블에서 옵티마이저가 오래된 통계를 기반으로 잘못된 실행 계획을 선택하는 경우가 있었고, 통계를 수동으로 업데이트하면 실행 계획이 개선되는 것을 경험했습니다.