본문으로 건너뛰기

Top SQL

조회 기간 동안의 Top SQL 목록을 제공합니다. 에이전트가 수집한 액티브 세션 내의 SQL을 기반으로 WhaTap이 실행 횟수, 수행 시간 등의 지표를 자체 산출한 SQL 통계입니다. 부하가 큰 SQL을 찾아 튜닝 우선순위를 정하는 데 도움이 됩니다.

추이 차트로 특정 시간대의 SQL 발생 패턴을 시각적으로 파악할 수 있으며, 리터럴 값을 제외한 SQL을 기준으로 통계를 산출합니다.

기본 옵션

상단 필터 영역에서 조회 조건을 설정합니다.

항목설명
시간조회 시간 범위 선택
클러스터조회 대상 클러스터 선택
정렬 순서Top SQL 선정 기준 지표 선택
조회 건수표에 표시할 건수 설정
필드·필터SQL Text 등 필드로 조건을 걸어 목록을 좁히기

여기서 헷갈릴 수 있는 부분은 상단 셀렉터입니다. MySQL Top SQL은 대상 인스턴스를 고르지만, SingleStore Top SQL은 대상 클러스터를 고릅니다. SingleStore는 클러스터 단위로 SQL을 분산 처리하므로 클러스터 기준으로 통계를 모읍니다.

분석 기준 탭

분석 기준 탭에서 Top SQL을 어떤 기준으로 묶어 볼지 선택합니다.

설명
ALLSQL 단위로 바로 확인
DB데이터베이스 단위로 SQL 부하 분석
USER사용자 계정 기준으로 SQL 부하 분석
NODE노드(node_id) 기준으로 SQL 부하 분석

선택한 지표 기준으로 상위 SQL의 추이를 시계열 차트로 표시합니다. 어떤 SQL이 어느 시간대에 부하가 높은지 한눈에 확인할 수 있습니다. 범례나 차트를 클릭하면 해당 SQL 라인이 강조됩니다.

SQL List 표

조회 기간 동안의 Top SQL 목록을 표로 보여 줍니다.

ColumnDescription
SQL TextSQL 전문 (리터럴 값을 제외한 형태)
SQL Hash Value동일 SQL을 묶는 해시 값
User실행 사용자
Execute Count실행 횟수
Elapsed Time누적 수행 시간
Avg Elapsed Time평균 수행 시간
Max Elapsed Time최대 수행 시간

쿼리별 차트

표 항목의 펼침 버튼을 클릭하면 개별 쿼리의 실행 횟수와 평균 수행 시간 차트를 확인할 수 있습니다. 차트의 막대를 클릭하면 해당 시간대의 인스턴스 모니터링 화면으로 이동해 그 시점의 노드 상태와 액티브 세션을 함께 확인할 수 있습니다.

SQL 상세 보기

SQL을 클릭하면 상세 팝아웃이 열립니다. 팝아웃은 다음 영역으로 구성됩니다.

영역설명
QuerySQL 전문
SQL Statistics실행 횟수·수행 시간 등 통계
Elapsed Time Trends수행 시간 추이
Plan실행 계획

Plan(실행 계획)

Plan 영역에서는 SQL의 실행 계획을 트리 테이블로 보여 줍니다. 각 단계의 처리 행 수(Rows), 노드 비용(Node Cost), 실행 계획(Plans)을 단계별로 확인할 수 있습니다.

쉽게 말하면 실행 계획은 데이터베이스가 SQL을 어떤 순서로 처리할지 짠 작업 계획서입니다. 비용이 큰 단계를 찾으면 어디서 시간이 오래 걸리는지 가늠할 수 있습니다.

데이터 해석 가이드

지표의미해석 포인트
Execute CountSQL 호출 횟수높을수록 자주 호출되어 최적화 효과가 큼
Elapsed Time누적 수행 시간높을수록 전체 부하가 큰 SQL
Avg Elapsed Time1회 평균 수행 시간높을수록 개별 실행이 느려 튜닝 우선 대상
Max Elapsed Time최대 수행 시간평균과 차이가 크면 간헐적 성능 저하 의심