DBMS_XPLAN.DISPLAY
단일 SQL문에 대해 예측 실행계획을 보여주는 함수
실측 정보가 아닌 예측 정보를 제공한다.
FUNCTION DISPLAY(TABLE_NAME VARCHAR2 DEFAULT 'PLAN_TABLE',
STATEMENT_ID VARCHAR2 DEFAULT NULL,
FORMAT VARCHAR2 DEFAULT 'TYPICAL',
FILTER_PREDS VARCHAR2 DEFAULT NULL)
DBMS_XPLAN.DISPLAY 함수 옵션
DBMS_XPLAN.DISPLAY | ||
파라미터 | 설명 | |
TABLE_NAME | Execution Plan이 저장되는 테이블을 지정하며, 기본값은 'PLAN_TABLE' 이다. | |
STATEMENT_ID | Execution Plan시 SET STATEMENT_ID를 지정한 경우 이를 불러올 수 있다. 값이 NULL일 경우 마지막에 실행된 문장을 불러온다. |
|
FORMAT | BASIC | 가장 기본적인 정보만 보여준다. |
TYPICAL | Format의 Default값인 Typical은 SQL 튜닝에 필요한 Normal한 정보를 보여준다. SQL 튜닝에 가장 유용하게 사용되는 Predicate Information이 제공 |
|
ALL | Typical Format에 Query Block Name과 Column Projection Information이 추가로 제공 | |
OUTLINE | Typical Format에 추가적으로 Hidden Hint인 Outline Global Hint를 제공 | |
ADVANCED | ALL Format에 OUTLINE Format를 합친 정보를 제공 | |
FILTER_PREDS | 저장된 PLAN에서 일부 Row 또는 Row Set을 제한하여 출력할 수 있다. |
EXPLAIN PLAN FOR
sql문 입력;
SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
DBMS_XPLAN.DISPLAY
실행계획 읽는 순서 id 3 -> 4 -> 2 -> 5 -> 1 -> 0
가장 안쪽(들여 쓰기)에서부터 위에서 밑으로 읽어야 한다.
Id : 실행계획에서의 구분자
Operation : 각 단계에서의 어떤 작업이 일어났는지 표시
Name : 테이블명이나 index 명을 표시
Rows : 해당 쿼리 계획 단계에서 나올 것으로 예상되는 행의 수
Byte : 실행 계획의 각 단계가 반환할 것으로 예상되는 데이터의 크기를 바이트로 나타낸 수. 이 수는 행의 수와 행의 예상 길이에 따라 결정
Cost : CBO가 쿼리 계획의 각 단계에 할당한 비용.
Time : 수행 시간