- HOME
- [종료]코어 오라클 데이터베이스 스터디
- 3차 코어 오라클 데이터베이스 스터디
- 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'를 참고하였습니다.*
- HOME
- [종료]코어 오라클 데이터베이스 스터디
- 3차 코어 오라클 데이터베이스 스터디
- Call 통계