메뉴 건너뛰기

bysql.net

10. V$SQL

2010.06.14 08:46

실천하자 조회 수:12677

수많은 SQL을 모두 튜닝 불가

Pareto's Law or 리처드 코치의 80/20 법칙 적용

    - 주기적으로 사용되는 상위 10% 이내의 프로그램만 집중적으로 튜닝해도 효과적


V$SQL

  • 개별 SQL 커서의 수행통계 분석 목적으로도 많이 활용
  • 집중 튜닝이 필요한 대상 SQL 선정 시 활용
  • 튜닝 전후 성능 향상도를 비교할 목적으로 통계 낼 시 활용
  • 라이브러리 캐시에 캐싱돼 있는 각 Child 커서에 대한 수행통계 표현
  • v$sqlarea는 Parent 커서에 대한 수행 통계 표현 (자세한 커서정보는 4장)
  • 쿼리가 수행을 마칠 때마다 갱신
  • 긴 수행의 쿼리는 5초 단위로 갱신
  • 통계치 값은 누적 값 표현 ☞ SQL 수행 횟수로 나눈 평균값 (SQL 한번 당 일량과 시간)을 이용한 분석 필요
SELECT sql_id, child_number, sql_text, sql_fulltext, parsing_schema_name
         , sharable_mem, persistent_mem, runtime_mem
         , loads, invalidations, parse_calls, executions, fetches, rows_processed
         , cpu_time, elapsed_time
         , buffer_gets, disk_reads, sorts
         , application_wait_time, concurrency_wait_time
         , cluster_wait_time, uwer_io_wait_time
         , first_load_time, last_active_time
from v$sql


line 1     라이브러리 캐시에 적재된 SQL 커서 자체에 대한 정보

line 2     SQL커서에 의해 사용되는 메모리 사용량

line 3, 4  하드파싱 및 무효화 발생횟수, Parse, Execute, Fetch Call 발생 횟수 및 처리 로우 건수

line 5     SQL 수행하면서 사용된 CPU Time과 소요시간(microsecond)

line 6     SQL 수행하면서 발생한 논리적 블록 읽기와 디스크 읽기, 소트 발생 횟수

line 7, 8  SQL 수행 도중 대기 이벤트 때문인 지연 발생 시간(microsecond)

line 9     커서가 라이브러리 캐시에 처음 적재된 시점, 가장 마지막에 수행된 시점



Top SQL 기준
  • Parse Calls
  • Executions
  • Buffer Gets
  • Disk Reads
  • Elapsed Time
  • CPU Time
  • Wait Time
  • Version Count
  • Sharable Memory

Colored SQL (오라클 11g 부터 추가) - 수행통계가 AWR에 주기적으로 수집되도록 마킹

  • AWR 수집 시 Top SQL 선정 기분과 상관없이 SQL 수행 통계 저장
  • 스냅샷 시점에 캐시에서 밀려나고 없는 SQL 정보는 저장 X





번호 제목 글쓴이 날짜 조회 수
27 9. ASH(Active Session History) 실천하자 2010.06.14 15607
26 8. Statspack / AWR balto 2010.06.13 12767
25 7. Response Time Analysis 방법론과 OWI file balto 2010.06.13 8066
24 5. 오라클 Lock file 휘휘 2010.06.07 26368
23 4. 동시성 구현 사례 토시리 2010.06.07 10941
22 3. 비관적 vs. 낙관적 동시성 제어 휘휘 2010.06.07 8210
21 2. 트랜잭션 수준 읽기 일관성 file 휘휘 2010.06.07 19568
20 4. DBMS_XPLAN 패키지 balto 2010.06.06 10461
19 3. SQL 트레이스 file balto 2010.06.06 21175
18 3장. 오라클 성능 관리 운영자 2010.06.06 6697
17 2. AutoTrace 실천하자 2010.06.06 8597
16 1. Explain Plan 실천하자 2010.06.06 14663
15 2장. 트랜잭션과 Lock 운영자 2010.06.01 6895
14 6. 문장수준 읽기 일관성 file 토시리 2010.06.01 10432
13 1. 트랜잭션 동시성 제어 실천하자 2010.05.31 8631
12 5. Undo file 토시리 2010.05.31 18656
11 11. Shared Pool file 실천하자 2010.05.31 18511
10 8. 블록 클린아웃 휘휘 2010.05.31 12283
9 7. Consistent vs. Current 모드 읽기 휘휘 2010.05.31 10538
8 10. 대기 이벤트 balto 2010.05.30 8011