쿼리 최적화

쿼리 최적화

이 가이드들은 ClickHouse에서 느린 쿼리를 조사하고 개선하는 워크플로를 제공해요. 반복되는 느린 쿼리를 식별하고, 병목을 분리하고, 목표한 최적화를 고르고, 반복 가능한 기준선과 결과를 비교해요.

출처: 문서

본문

어디서 시작할지 고르기

처음 세 가이드는 종합적인 워크플로를 이루지만, 이미 알고 있는 내용과 맞는 단계에서 시작할 수도 있어요.

느린 쿼리 진단 (Diagnose slow queries)

반복되는 느린 쿼리 패턴을 식별해야 할 때 여기서 시작해요. 로컬 또는 클러스터 전체 쿼리 기록을 사용해 대표 실행을 고르고, 리소스 사용량을 검사하고, 초기 가설을 세워요.

쿼리 병목 분리 (Isolate query bottlenecks)

느린 쿼리는 있지만 어떤 연산이 성능을 지배하는지 아직 모를 때 여기서 시작해요. 통제된 조건에서 쿼리의 점진적으로 더 단순한 형태를 비교해요.

최적화 접근법 선택 (Choose an optimization approach)

병목에 대한 증거가 있고 목표한 변경을 골라야 할 때 여기서 시작해요. 읽는 데이터를 줄이거나, 데이터 레이아웃을 쿼리와 정렬하거나, 반복 가능한 작업을 미리 계산하는 접근법을 비교해요.

예제 (Example)

워크드 최적화 예제 (Worked optimization example)

NYC Taxi 데이터셋에 대한 워크로드 쿼리부터 시작한 다음, 스키마와 순서 키 변경을 적용하면서 각 단계를 같은 기준선에 대해 측정해요.

더 알아보기 (Learn more)