본문으로 건너뛰기

Search SQL

Search SQL 화면에서는 조건에 맞는 쿼리를 검색하고, 선택한 쿼리의 성능 추이(Trend)·실행 이력(History)·전체 구문(Full Text)·실행 계획(Plan)을 한 화면에서 이어서 확인할 수 있습니다.

좌측 메뉴에서 데이터베이스 > ClickHouse > SQL Analysis > Search SQL을 선택하세요.

Search SQL 전체 화면

화면은 상단 조회 조건, SQL List, Trend, History, 하단 Full Text, Plan으로 구성됩니다.

조회 조건 설정하기

화면 상단에서 조회할 대상과 조건을 설정합니다.

  • Period: 조회할 날짜 범위를 선택합니다.
  • Group / Instance: 조회할 인스턴스 그룹과 개별 인스턴스를 선택합니다.
  • Order By: Query Duration (sec)(기본값), Memory Usage, CPU TimeSQL List의 정렬 기준을 선택합니다.

Order By 드롭다운

조건을 변경한 뒤 [Search] 버튼을 클릭해야 새 조건으로 다시 조회됩니다.

[Option] 버튼을 클릭하면 팝업에서 Normalized Query Hash, Query로 검색 대상을 좁힐 수 있습니다.

Option 팝업

Query 입력란 옆 도움말 아이콘에 마우스를 올리면 "Case insensitive."라는 안내를 확인할 수 있습니다 — 대소문자를 구분하지 않고 검색된다는 의미입니다.

SQL List에서 쿼리 검색 결과 확인하기

SQL List에서는 조건에 해당하는 쿼리를 Host Name, Current Database, User, Normalized Query Hash, Query, Query Count, Query Duration (sec), CPU Time, Memory Usage, Read Bytes, Written Bytes, Result Bytes 등의 컬럼으로 확인할 수 있습니다.

목록에서 행을 클릭하면 아래 Trend, History, Full Text, Plan이 모두 선택한 쿼리 기준으로 갱신됩니다.

Query 컬럼을 클릭하면 쿼리 전체 구문을 SQL Full Text 팝업으로 확인할 수 있습니다. 팝업에서 [Format SQL] 버튼을 클릭하면 구문을 보기 좋게 정렬해서 다시 표시합니다.

SQL Full Text 팝업

목록 우측 상단의 Sum/Avg 토글로 값을 합계와 평균 중 어느 기준으로 볼지 전환할 수 있습니다. Avg를 선택하면 컬럼 제목과 값이 붉은색으로 바뀌며 호출당 평균값을 보여줍니다. 상단 필터 입력란에 텍스트를 입력하면 컬럼 값 기준으로 목록을 빠르게 필터링할 수 있습니다.

Avg 토글 적용 화면

목록 우측 상단의 [⋮] 버튼을 클릭하면 Reset user data, Export to Excel, Column List 메뉴가 열립니다. 이 메뉴는 History, Plan 목록에도 동일하게 제공됩니다.

그리드 ⋮ 메뉴

Trend와 History에서 추이와 이력 확인하기

Trend에서는 선택한 쿼리의 Time(Query Duration (sec)), Rows(Read Rows·Written Rows), Executions(Query Count) 추이를 각각 차트로 확인할 수 있습니다.

우측 상단 [Retry] 버튼을 클릭하면 차트를 최초 조회 조건 기준으로 다시 그립니다. 버튼 옆 물음표 아이콘에 마우스를 올리면 이 동작에 대한 설명을 툴팁으로 확인할 수 있습니다.

History에서는 시간대별 Query Count·Query Duration (sec)·CPU Time·Memory Usage·Read Bytes·Written Bytes·Result Bytes 값을 표로 확인할 수 있습니다.

Full Text와 Plan에서 쿼리 구문과 실행 계획 확인하기

SQL List에서 Rank가 낮은(실행 빈도가 적은) 행을 클릭한 예시입니다.

Full Text와 Plan 영역

  • Full Text: 선택한 쿼리의 전체 구문을 보여줍니다. 우측 상단 [Formatting] 버튼을 클릭하면 구문을 보기 좋게 정렬하고, 복사 아이콘을 클릭하면 구문을 클립보드에 복사합니다.
  • Plan: 실행 계획을 번호가 매겨진 단계별 목록으로 보여줍니다.
참고

쿼리에 ?로 표시된 바인드 파라미터가 남아 있으면 PlanIllegal type String expression, must be numeric type 같은 오류가 표시될 수 있습니다. 파라미터가 실제 값으로 채워지지 않은 정규화된 쿼리이기 때문입니다. 파라미터가 없는 쿼리(위 예시의 SELECT ?처럼 리터럴만 사용하는 쿼리 등)를 선택하면 Expression, ReadFromStorage 같은 실제 실행 단계를 확인할 수 있습니다.