활용사례Expensive SQL

Expensive SQL

#고부하 SQL #DB 부하 분석 #DB 권한 없이 한 화면에서 #SQL 튜닝

DB에 가장 큰 부하를 주는
SQL은, 가장 느린 SQL이
아닙니다.

한 번의 실행은 0.5초로 짧더라도, 하루에 백만 번 반복되면 전체 DB 부하에 큰 영향을 줄 수 있습니다.
이러한 고부하 SQL과 파라미터 값은 HANA 표준 트레이스에서도 확인할 수 있지만, 이를 위해서는 관리자급 DB 권한이 필요합니다.
OWLens는 별도의 관리자급 DB 권한 없이, 고부하 SQL과 해당 SQL을 유발한 프로그램·사용자까지 화면에서 바로 보여줍니다.

Expensive SQL — DB 부하 SQL · 파라미터 값 · 유발 프로그램 · 사용자
Expensive SQL — 누적 비용 상위 SQL · 파라미터 값 · 유발 프로그램 화면
Problem · Pain Point

고부하 SQL,
찾는 것부터 쉽지 않습니다.

SAP 성능 저하는 소수의 고부하 SQL에서 발생하는 경우가 많습니다. 고부하 SQL은 크게 두 가지 유형으로 볼 수 있습니다. 한 번의 실행 시간이 긴 SQL(풀스캔·인덱스 미적용), 그리고 개별 실행은 짧아도 반복적으로 실행되는 SQL입니다. 특히 후자의 경우 개별 실행만 보면 정상적으로 보여 문제 SQL을 놓치기 쉽습니다. 또한 고부하 SQL과 파라미터 값을 상세히 확인하려면 HANA에 직접 접근해 별도로 조회해야 하며, 이를 위해 관리자급 DB 권한이 필요합니다.

개별 실행 시간만으로는 DB 부하의 원인을 찾기 어렵습니다.

개별 실행 시간만으로는 한 번은 빠르지만 반복적으로 실행되는 SQL을 식별하기 어려워, DB 부하의 실제 원인을 놓칠 수 있습니다.

고부하 SQL을 상세히 확인하려면 관리자급 DB 권한이 필요합니다.

고부하 SQL과 파라미터 값은 HANA 표준 트레이스(Expensive Statements Trace·Plan Cache)에서 확인할 수 있지만, 이를 확인하려면 TRACE ADMIN·CATALOG READ급 DB 권한과 HANA 직접 접속, 전용 뷰(M_EXPENSIVE_STATEMENTS 등)·전용 SQL이 필요합니다.

SQL을 찾아도, ABAP 프로그램과 사용자는 별도로 확인해야 합니다.

모듈 운영팀이 담당 업무의 고부하 SQL을 확인하려 해도 결국 DB 관리자를 거쳐야 하고, SQL을 찾은 뒤에도 어느 ABAP 프로그램에서 어떤 사용자가 실행했는지는 별도로 확인해야 합니다.

Solution · OWLens 해결

OWLens는 이렇게 해결합니다.

01

고부하 SQL을 상시 분석합니다.

실행 시간뿐 아니라 실행 횟수와 자원 사용량(버퍼·읽기)을 함께 분석하여, 반복 실행을 포함해 DB 부하에 큰 영향을 주는 SQL을 지속적으로 확인합니다.

02

SQL부터 원인·맥락까지 한 화면에서 확인합니다.

SQL의 파라미터 값과 부하 원인(풀스캔·인덱스 부재·통계 노후·과다 실행)해당 SQL을 유발한 프로그램·사용자와 함께 화면에서 바로 확인합니다.

SQL 파라미터 값과 SQL 문, 유발 프로그램·사용자 목록

▲ 파라미터 값·SQL 문과 함께, 이를 유발한 컴포넌트·사용자·자원 사용량

03

별도 DB 권한 없이 튜닝 대상을 특정합니다.

관리자급 DB 권한을 별도로 부여하지 않아도 운영자·BC가 DB 부하가 큰 SQL을 직접 확인하고, 개선이 필요한 SQL을 우선순위에 따라 특정할 수 있습니다.

SQL 부하가 증가하는 주요 원인

과도한 반복 실행

개별 실행은 빠르더라도 동일 SQL이 반복되면 실행 횟수만큼 부하가 누적됩니다.

풀스캔·인덱스 미적용

필요한 데이터를 찾는 과정에서 불필요하게 많은 데이터를 읽어 DB 부하가 증가합니다.

통계 정보 노후화

오래된 통계 정보로 인해 옵티마이저가 비효율적인 실행 계획을 선택할 수 있습니다.

불필요한 데이터 조회

SELECT*처럼 사용하지 않는 필드까지 조회하면 불필요한 데이터 처리량이 증가합니다.

부하 원인을 파악하면 ABAP, 인덱스, 통계 정보 중 어디를 개선해야 하는지 명확해집니다.

Value · 역할별 가치

담당 업무별 활용 효과

IT 책임자

고부하 SQL이 시스템 성능과 자원에 미치는 영향을 상시 파악하고, 운영 조직에 관리자급 DB 권한을 별도로 부여하지 않고도 필요한 정보를 확인해 보안과 운영 부담을 줄일 수 있습니다.

운영 담당자

DB 관리자를 거치지 않고 담당 모듈에서 어떤 SQL이 부하를 유발하는지 직접 확인하고, 개선이 필요한 SQL을 빠르게 찾을 수 있습니다.

BC (Basis)

고부하 SQL의 파라미터 값과 원인을 확인하고, 해당 SQL을 실행한 ABAP 프로그램·사용자까지 연결해 DBA·개발팀과 빠르게 원인을 공유할 수 있습니다.

Difference · SAP 표준 도구와의 차별점

SAP 표준 도구와 OWLens 비교

고부하 SQL은 HANA 표준에서도 확인할 수 있습니다. 차이는 접근 방식과 분석 범위에 있습니다.
OWLens는 별도의 관리자급 DB 권한 없이, SQL 정보와 ABAP 프로그램·사용자 맥락을 한 화면에서 보여줍니다.

구분
SAP 표준 도구
OWLens
SQL 상세 확인
DB 권한·HANA 직접 접속 및 별도 조회 필요
화면에서 바로 확인
발생 맥락
DB 차원의 SQL·파라미터 정보 확인
ABAP 프로그램·사용자와 함께 확인
접근 권한
사용자별 관리자급 DB 권한 부여 필요(보안·권한 관리 부담)
별도의 관리자급 DB 권한없이 확인
Free Demo

DB 부하를 키우는 SQL, OWLens에서 빠르게 찾아보세요!

3개월 무료 데모와 설치·교육을 무상으로 제공합니다. 지금 바로 경험해 보세요.