SQL 통계
홈 화면 > 프로젝트 선택 > 통계/보고서 > SQL 통계
에이전트가 수집한 액티브 세션 내의 SQL을 실행 횟수, 수행 시간, 대기 시간 등을 기준으로 통계를 산출하고, 조회한 기간 동안의 Top SQL 목록을 제공합니다. 평균 및 최대 수행 시간을 통해 자주 수행되는 SQL 성능을 분석할 수 있는 근거를 제공합니다.
빠른 성능 분석을 위해 자주 분석하는 카테고리(USER, HOST, APPLICATION) 별로 Top SQL을 조회할 수 있습니다. 주요 조회 기준은 다음과 같습니다.
-
execute count: 해당 SQL의 실행 횟수
-
elapse sum (sec): 해당 SQL의 수행 시간(초) 합계
-
elapse avg (sec): 해당 SQL 평균 수행 시간(초)으로 elapse sum / execute count의 결과값
-
elapse max (sec): 해당 SQL의 최대 수행 시간(초)
- elapse wait (sec): 해당 SQL의 대기 시간 합계(초)
SQL 통계 기능은 리터럴 값을 제외한 SQL을 기준으로 통계를 산출합니다.
기본 화면 안내

-
시간에서 데이터를 조회할 시간과 날짜를 선택하세요. 녹색 버튼을 선택해 조회 시간을 선택할 수도 있습니다.
-
인스턴스에서 데이터를 조회할 대상을 선택하세요.
-
버튼을 선택하세요.
상위 50건까지의 내용을 테이블에 표시합니다.
-
임의의 날짜와 시간을 조회하려면 시계 표시 부분을 선택하세요. 날짜와 시간 텍스트 영역을 클릭하면 날짜와 시간을 선택할 수 있는 옵션이 나타납니다.
-
테이블 헤더의 각 컬럼을 클릭하면 선택한 컬럼을 기준으로 목록을 정렬할 수 있습니다.
-
정렬 순서에서 선택한 항목 따라 조회 결과를 정렬할 수 있습니다. 원하는 항목을 선택한 다음
버튼을 선택하세요. -
조회 건수에서 테이블에 표시할 건수를 설정할 수 있습니다. 설정을 완료한 다음
버튼을 선택하세요. -
조회한 내용을 CSV 형식의 파일로 다운받으려면
버튼을 선택하세요.
쿼리별 수행 추이 확인하기
테이블 항목별 가장 왼쪽에 ► 버튼을 선택하세요. 해당 쿼리문의 5분당 실행 횟수와 평균 수행 시간을 확인할 수 있는 차트가 나옵니다. 각 막대 그래프에 마우스를 오버하면 해당 시간의 수치를 확인할 수 있습니다.
사용 구분별로 데이터를 분류해 조회하려면 원하는 탭을 선택하세요.
그래프 차트에서 원하는 시간의 막대그래프를 선택하면 인스턴스 모니터링 메뉴로 이동합니다. 선택한 시간의 지표를 확인할 수 있습니다. 인스턴스 모니터링에 대한 자세한 내용은 다음 문서를 참조하 세요.
쿼리 미리보기

조회된 결과 목록에서 마우스 포인터를 sql 컬럼 항목으로 가져가면 쿼리문을 미리 볼 수 있습니다.
쿼리 자세히 보기
조회된 결과 목록에서 sql 컬럼 항목을 선택하면 SQL 상세 창이 나타납니다.

SQL 통계 보기 → 버튼을 클릭해, 해당 SQL 쿼리문과 관련한 통계 정보를 확인할 수 있는 SQL 통계 메뉴로 이동할 수 있습니다.
-
Default Bind: 쿼리 문장에서 변수로 설정된 부분을 기본값으로 바인딩할 수 있습니다.
-
Reset Bind: 바인딩된 기본값을 해제하고 변수를 확인할 수 있습니다.
-
Formatting: SQL 쿼리문에 들여쓰기 및 포맷팅을 적용해 가독성을 높일 수 있습니다.
Cached Plan 탭
액티브 세션이나 SQL 통계 목록에서 쿼리를 선택하면 SQL 상세 창이 열립니다. IBM DB2에서는 이 창의 실행계획 탭 이름이 Cached Plan입니다. 어떤 SQL이 어떤 실행계획으로 수행됐는지 확인하고, 계획을 바꿔 가며 성능을 비교할 때 쓰는 화면입니다.
IBM DB2의 SQL 상세 창은 Trend, Cached Plan, Explain Plan 탭으로 구성됩니다. Plan History와 Bind Capture 탭은 제공하지 않습니다.
실행계획 목록 읽기
위쪽 목록은 하나의 SQL이 가진 실행계획을 한 줄씩 보여 줍니다.
| Column | Description |
|---|---|
stmt_id | 구문 식별자 |
plan_id | 실행계획 식별자 |
Last Seen | 마지막으로 관측한 시각 |
Execute Count | 실행 횟수 |
Avg. Elapsed Time | 평균 수행 시간 |
Avg. Logical Reads | 평균 논리 읽기 |
Avg. Physical Reads | 평균 물리 읽기 |
실행계획은 SQL 구문과 실행계획 식별자의 조합으로 구분합니다. IBM DB2는 plan_id 하나만으로는 실행계획을 특정할 수 없습니다. 서로 다른 SQL이 같은 plan_id를 가질 수 있어, 목록도 stmt_id와 plan_id 두 값의 조합으로 묶습니다.
지표 값이 대시(-)로 표시된 행이 있을 수 있습니다. 액티브 세션에서 바로 들어온 경우 그 실행계획이 아직 집계 통계에 포함되지 않아서이며, 해당 셀에 마우스를 올리면 「선택한 구간의 집계 통계에는 아직 포함되지 않아 지표가 표시되지 않습니다.」 안내를 표시합니다. 이 행은 통계 합계에서 제외됩니다.
두 단계로 조회합니다
행을 선택하면 아래쪽에 실행계획 트리가 그려집니다. 트리를 채우는 경로는 두 단계입니다.
-
수집 서버 저장분을 먼저 조회합니다. 에이전트가 수집해 둔 실행계획입니다.