본문 바로가기
Language/SQL 튜닝

1장. [SQL 분석 도구] 1-4. V$SQL

by RUCKUS 2021. 10. 6.

트레이스의 치명적인 단점 : 파일이 서버에 저장된다. 그래서 개발자 입장에서는 권한의 문제가 있을 수 있다. 요즘에는 보안의 문제가 상당히 중요해졌기 때문

 

V$SQL 이란?

  • SQL에 대한 모든 정보를 결과로 보여주는 것
  • V$SQL 은 라이브러리 캐시에 캐싱돼 있는 각 Child 커서에 대한 수행통계를 보여준다.
  • 하여 해당 결과를 바탕으로 튜닝의 대상을 용이하게 선정할 수 있게 도와준다.
  • 쿼리의 수행속도 자체에 대해서 고민할 때는 SQL의 블록 단위별 개수를 파악해서 튜닝대상을 선정한다.
  • CPU의 성능에 대해서 고민할때는 각 블록 단위별 수행횟수를 파악해서 튜닝대상을 선정한다.
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, user_io_waait_time-----⑥ 
, first_load_time, last_active_time -----⑦ 
from v$sql

① 라이브러리 캐시에 적재된 SQL 커서 자체에 대한 정보
② SQL 커서에 의해 사용되는 메모리 사용량
③ 하드파싱 및 무효화 발생횟수, Parse, Execute, Fetch Call 발생 횟수, Execute 또는 Fetch Call 시점에 처리한 로우 건수 등
④ SQL을 수행하면서 사용된CPU time과 소요시간(microsecond)
⑤ SQL을 수행하면서 발생한 논리적 블럭 읽기와 디스크 읽기, 그리고 소트 발생 횟수
⑥ SQL 수행 도중 대기 이벤트 때문에 지연이 발생한 시간(microsecond)
⑦ 커서가 라이브러리 캐시에 처음 적재된 시점, 가장 마지막에 수행된 시점

 

 

본 글은 작성자가 공부한 것을 기록하기 위하여 작성한 것으로, 100% 정확한 정보가 아닐 수 있습니다. 정정을 요청하셔도 좋고 여러 의견을 주시면 너무너무 환영이고 감사하겠습니다.