오라클 실제 실행계획 방법
실행계획은 두가지가 있다.
1. 쿼리를 실행하기 전, 예상 실행 계획
2. 쿼리를 실행한 후, 실제 실행 계획
일반적으로 SQL편집기(toad, sqldeveloper, dbeaver등)에서 보이는 실행 계획은 쿼리를 실행하지 않은 예상 실행 계획이다.
실제 실행 계획은 예상 실행 계획과 거의 대부분 동일하기 때문에, 일반적으로 굳이 안 찾아봐도 된다.
실제 실행 계획을 찾아보는 이유는 예상 실행 계획보다 좀 더 자세한 정보(플랜당 처리시간, 메모리 사용량, 내부힌트 등)가 출력되기 때문이라고 볼 수 있다.
실제 실행 계획을 보는 방법
1. 실행 계획을 볼 SQL내에 힌트를 넣어준다.
SELECT /*+ GATHER_PLAN_STATISTICS */
*
FROM TABLE_NAME
2. 실행 계획 힌트를 넣은 쿼리의 실행이 종료되자마자 아래 쿼리를 실행한다.
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL, NULL, 'advanced allstats last'));
그럼 실제 실행계획을 볼 수 있다.
DBMS_XPLAN.DISPLAY_CURSOR 옵션으로 'advanced allstats last'가 있다.
이건 실행계획 전체를 다 보여주는 옵션이기 때문에 상황에 따라서 원하는 정보만 가져올 수 있게 수정할 수 있다.
'advanced allstats last' 대신 'allstats last -rows +alias +outline +predicate' 옵션으로 보면 좀 더 간략하게 볼 수 있다.
'IT 자료' 카테고리의 다른 글
C# 외부 구성요소에서 예외를 Throw했습니다. (0) | 2019.10.09 |
---|---|
java List<Map<String, String>> 비교 (0) | 2019.05.09 |
SQL 구문 작성 요령 (0) | 2019.03.25 |
오라클 테이블, 뷰 코멘트 생성쿼리 (0) | 2018.11.16 |
JAVA List<Map<String, String>> 값 비교하기 (0) | 2018.10.22 |