Top SQL 비교
홈 화면 > 프로젝트 선택 > 분석 > Top SQL 비교
특정 날짜를 기준으로 설정된 시간대의 SQL의 추이를 비교할 수 있습니다. 사용자는 여러 기준을 선택하여 SQL의 성능을 비교하고 Summary Chart를 통해 시계열 그래프로 확인할 수 있습니다. 또한, 화면 아래에 테이블 목록에서는 기준 날짜와 비교 날짜의 Top SQL 순위와 등락을 비교할 수 있습니다.

-
SQL 성능 파악: 사용자는 Top SQL 비교 메뉴를 통해 SQL의 성능을 쉽게 파악할 수 있습니다. SQL의 실행 횟수, 최대 경과 시간, 총 경과 시간, 대기 시간 등을 비교함으로써 시스템의 성능 문제를 신속하게 감지할 수 있습니다.
-
시간별 추이 확인: Summary Chart를 통해 시간에 따른 SQL의 성능 변화를 시각적으로 확인할 수 있습니다. 이를 통해 사용자는 시스템의 부하가 발생한 시간대나 성능 저하가 발생한 구간을 빠르게 파악하여 대응할 수 있습니다.
-
Top SQL 비교: 화면 아래에 테이블 목록에서는 기준 날짜와 비교 날짜의 Top SQL 순위를 비교할 수 있습니다. 이를 통해 사용자는 SQL의 성능 변화를 확인하고, 비교하여 성능 개선에 필요한 조치를 취할 수 있습니다.
Top SQL 비교하기
화면 위에서 Top SQL 비교를 위한 조건들을 설정한 다음 버튼을 선택하세요.
-
기준 시간: 비교를 위한 기준 시간을 설정하세요. 최대 24시간까지 설정할 수 있습니다. 녹색 버튼을 클릭하면 조회 시간을 선택할 수 있는 옵션을 표시됩니다. 사용자가 원하는 시간을 직접 설정하려면 날짜 및 시간 영역을 선택하세요.
노트- 최대 조회할 수 있는 시간 범위는 24시간입니다.
-
비교: 기준 시간에서 설정한 시간과 비교할 날짜 또는 시간을 선택하세요. 원하는 조건을 선택한 다음 확인 버튼을 선택하세요.
일자 시간 

-
인스턴스: SQL 비교를 위해 인스턴스 대상을 선택하세요.
-
조회 기준: 비교 기준을 선택하세요. 선택한 항목에 따라 차트를 생성하고 순위를 정렬합니다.
-
excute count: 실행 횟수를 기준으로 조회 결과를 정렬합니다.
-
elapsed max: 최대 경과 시간을 기준으로 조회 결과를 정렬합니다.
-
elapsed time: 총 경과 시간을 기준으로 조회 결과를 정렬합니다.
-
elapsed wait: 대기 시간을 기준으로 조회 결과를 정렬합니다.
-
-
조회 건수: 화면 아래에 SQL 순위 테이블 목록에 표시되는 개수를 설정하세요.
Summary Chart
Summary Chart에서는 기준 날짜와 비교 날짜의 SQL 추이를 비교할 수 있는 시계열 그래프를 제공합니다. 이를 통해 사용자는 시간에 따른 SQL의 성능 변화를 쉽게 파악할 수 있습니다.

-
◼︎ 파란색 그래프: 기준 날짜를 의미하면 오른쪽의 수치는 평균값을 의미합니다.
-
◼︎ 회색 그래프: 비교 날짜를 의미하며 오른쪽의 수치는 평균값을 의미합니다.
SQL 순위 비교하기
화면 아래에 SQL 순위 테이블에서는 상위 SQL 목록이 표시됩니다. 표시되는 개수는 화면 위에 조회 건수에서 설정할 수 있습니다.

왼쪽에 배치된 테이블은 기준 날짜에 해당하는 SQL 순위가, 오른쪽에는 비교 날짜에 해당하는 SQL 순위가 표시됩니다. 기준 날짜 테이블의 ranck changed 컬럼을 통해 비교 날짜 대비 변화된 등락을 확인할 수 있습니다.
예를 들어, 사용자가 elapsed time(경과 시간)을 기준으로 비교했을 때, 비교 날짜 대비 기준 날짜에 같은 SQL 문의 경과 시간이 더 늘어났다면 해당 SQL 문의 성능을 검토해볼 필요가 있습니다. 쿼리 최적화 또는 인덱스를 사용해 성능을 최적화해보세요.
쿼리 미리보기

SQL 순위 테이블에서 query 컬럼 항목에 마우스를 오버하면 해당 SQL 문의 쿼리를 확인할 수 있 습니다.
자세한 SQL 정보를 확인하려면 SQL 순위 테이블의 query 컬럼 항목을 선택하세요. SQL 상세 창이 나타납니다. SQL 쿼리문과 Plan 정보를 확인할 수 있습니다.
SQL 통계 보기→ 버튼을 클릭하면 해당 SQL 쿼리문과 관련한 통계 정보를 확인할 수 있는 SQL 통계로 이동할 수 있습니다.

-
Runtime Plan: 선택된 SQL 쿼리의 실행 계획과 런타임 정보를 제공합니다. 실행 횟수, 평균 실행 시간, 평균 물리적 읽기 등 세부 정보를 제공합니다.
-
Explain Plan: 옵티마이저가 예측한 실행 계획을 보여줍니다. 비용, 작업, 객체 이름, 카디널리티 등의 정보를 제공합니다.
-
Plan History: 데이터베이스에서 실행된 SQL 쿼리의 실행 계획에 대한 이력을 확인할 수 있습니다.
-
Bind Capture: 데이터베이스에서 실행된 SQL 쿼리에 사용된 바인드 변수의 값을 확인할 수 있습니다. 이를 통해 쿼리 실행의 실제 내용을 확인할 수 있습니다.
노트실시간 실행된 bind 값이 아닌 데이터베이스에 캡처된 값(
v$sql_bind_capture)입니다. 건수가 많으면 100개까지 표시합니다.
AI 튜닝 가이드
AI 튜닝 가이드는 SQL 쿼리, Plan, 통계 정보를 분석하여 성능 문제를 진단하고, 최적화 방안을 제시하는 기능입니다. 개발자와 DBA가 병목 원인을 빠르게 파악하고, 효율적인 SQL로 성능을 개선할 수 있도록 지원합니다.
사용 조건 및 유의 사항
PostgreSQL, MySQL, SQL Server는 Plan 조회가 필수입니다.
Plan을 조회하지 않으면 AI 튜닝 가이드 아이콘이 (비활성화) 상태로 표시되며, 기능을 사용할 수 없습니다.
- AI가 생성하는 결과는 자동 분석에 기반하며, 정확도가 100%는 아님을 유의하시기 바랍니다.
-
분석 및 진단할 SQL을 클릭해 SQL 상세 화면으로 이동합니다.
-
SQL 상세 화면의 오른쪽 아래 AI 튜닝 가이드 아이콘
을 클릭해 AI 분석을 시작합니다.
-
AI 분석 결과를 확인합니다.
결과 항목 설명 쿼리 플랜 및 요약 쿼리의 목적과 실행 요약
- 실행 횟수, 누적 실행 시간, 데이터베이스 전체 부하 비중을 분석해 해당 SQL이 시스템 성능에 미치는 영향 평가성능 분석 분석 결과를 종합해 성능 점수와 진단 결과 제공
- CPU 사용률, 디스크 사용률, 캐시 적중률, 대기 시간 등 쿼리 수행 과정의 세부 리소스 사용량을 분석해 병목이 발생한 구간을 시각적으로 보여줌발견된 주요 이슈 주요 이슈 요약 제공 최적화 권장 사항 이슈에 따른 최적화된 쿼리 제안
디폴트 플랜 조회하기
디폴트 플랜 유저 파일 생성 시 에이전트가 사전 정의된 DB 정보를 사용하여 플랜을 자동으로 조회하도록 설정할 수 있습니다. 디폴트 플랜 조회 항목에 체크 박스를 선택 후 다음과 같이 미리 입력한 DB 접속 정보를 통해 플랜 정보를 조회하세요.
- Linux
- Windows
-
에이전트 설정(whatap.conf) 파일에
plan_db옵션을 추가하고 DB 이름을 입력하세요.whatap.confplan_db=(dbname) -
DB 설정 후
planuid.sh스크립트를 사용하여 사용자 및 비밀번호를 설정하세요../planuid.sh user pwd노트사용자(
user)와 비밀번호(pwd)에 특수 문자가 포함되어 있는 경우 각 특수 문자 앞에 역슬래시(\)를 추가하세요.예.
user$example→user\$example
-
에이전트 설정(whatap.conf) 파일에
plan_db옵션을 추가하고 DB 이름을 입력하세요.whatap.confplan_db=(dbname) -
DB 설정 후
planuid.bat스크립트를 사용하여 사용자 및 비밀번호를 설정하세요.planuid.bat user pwd