by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

Call 통계




01. Call 통계

  • SQL 트레이스 레포트에서 Call 통계부분은 커서의 활동상태를 Parse, Execute, Fetch 세 단계로 나누어 각각에 대한 수행통계를 보여준다.
  • Parse Call은 커서를 파싱하는 과정에 대한 통계로서, 실행계획을 생성하거나 찾는 과정에 관한 정보를 포함한다.
  • Execute Call은 말 그대로 커서를 실행하는 단계에 대한 통계를 보여준다
  • Fetch Call은 select문에서 실제 레코드를 읽어 사용자가 요구한 결과집합을 반환하는 과정에 대한 통계를 보여준다.
  • insert, update, delete, merge 등 DML문은 Execute Call 시점에 모든 처리과정을 서버내에서 완료하고 처리결과만 리턴하므로 Fetch Call이 전혀 발생하지 않는다.
  • insert ... select문도 마찬가지다. 클라이언트로부터 명시적으로 Fetch Call을 받지 않으며 서버내에서 묵시적으로 Fetch가 이루어진다.
  • select문일 때 Execute Call 단계에서는 커서만 오픈하고, 실제 데이터를 처리하는 과정은 모두 Fetch 단계에서 일어난다.
  • 테이블의 sort group by는 Execute 단계에서 처리할 것으로 예상되지만 실제로는 Fetch 시점에 처리가 일어난다. 실제 데이터를 액세스하면서 일을 시작하는 시점은 첫 번째 Fetch Call 이다.
  • for update 구문을 사용하면 Execute Call 단계에서 모든 레코드를 읽어 Lock을 설정한다.

문서에 대하여

  • 최초작성자 : [김종원]
  • 최초작성일 : 2010년 01월 09일
  • 이 문서는 오라클클럽 코어 오라클 데이터베이스 스터디 모임에서 작성하였습니다.
  • 이 문서의 내용은 (주)비투엔컬설팅에서 출간한 '오라클 성능 고도화 원리와 해법I'를 참고하였습니다.

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.