- 실행계획 확인하기2017년 04월 07일 21시 51분 07초에 업로드 된 글입니다.작성자: 봉주니
1. 쿼리 실행 전 STATISTICS_LEVEL을 ALL로 변경
2. 실행계획을 보고자하는 쿼리 실행
3. 하단 V$SQL에서 방금 돌린 쿼리를 검색하여 SQL_ID, CHILD_NUMBER를 확인
+ PARSING_SCHEMA_NAME은 해당 스키마명, MODULE은 알고있다면 쓰는게 좋으며(TOAD 등), SQL TEXT는 쿼리내용 입력(일부분만)
4. dbms_xplan.display_cursor를 이용하여 SQL_ID, CHILD_NUMBER 입력 후 쿼리실행
5. 실행계획 확인 후 STATISTICS_LEVEL을 BASIC로 변경
PS. SQL_ID, CHILD_NUMBER를 NULL로 할 경우 최근 실행된 쿼리의 실행계획을 보여준다.
단, 운영중인 시스템에서는 사용이 힘들다.(마지막 실행된 쿼리가 계속 바뀌기 때문)
*/
ALTER SESSION SET STATISTICS_LEVEL = ALL;
select * from table(dbms_xplan.display_cursor(/*SQL_ID*/'',/*CHILD_NUMBER*/'0','ALLSTATS LAST'));
ALTER SESSION SET STATISTICS_LEVEL = BASIC;
/*예시*/
SELECT COUNT(2) FROM TN_PW00_APT_CD;
SELECT SUBSTR(SQL_TEXT, 1, 100) SQL_TEXT, SQL_ID, CHILD_NUMBER
FROM V$SQL
WHERE PARSING_SCHEMA_NAME = 'CITYWASTE'
AND MODULE = 'SQL Developer'
AND SQL_TEXT LIKE '%SELECT A.CTZN_SRNO%'
;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(/*SQL_ID*/'fyaw7c6z5t935',/*CHILD_NUMBER*/'0','ALLSTATS LAST'));
출처: http://ghgame.tistory.com/entry/예측-실행계획-실제-실행계획-및-Trace-확인법 [광훨's 게임블로그]반응형'Oracle' 카테고리의 다른 글
Insert 시 & 대체 변수 입력 (0) 2019.08.06 mybatis like # (0) 2019.05.08 ROW_NUMBER() (0) 2019.04.15 ORACLE SYNONYM(시노님) (0) 2019.04.15 해당 연도의 첫날과 마지막날 표시 (0) 2016.05.03 다음글이 없습니다.이전글이 없습니다.댓글