- 카테고리:
EXPLAIN_JSON¶
이 함수는 EXPLAIN 계획을 JSON에서 테이블로 변환합니다. 출력은 EXPLAIN USING TABULAR <문>
명령의 출력과 동일합니다.
구문¶
EXPLAIN_JSON( <explain_output_in_json_format> )
인자¶
explain_output_in_json_format
EXPLAIN 출력을 JSON 호환 문자열로서 포함하는 문자열 또는 문자열로 평가되는 식입니다. 일반적으로 이 입력은 SYSTEM$EXPLAIN_PLAN_JSON 함수의 출력입니다. 리터럴 문자열을 사용하는 경우, 작은따옴표 문자
'
로 묶어야 합니다.
반환¶
이 함수는 EXPLAIN 출력을 정렬된 행 세트로서 포함하는 테이블을 반환합니다.
이 함수의 출력은 EXPLAIN USING TABULAR <SQL_문>
의 출력과 동일합니다.
사용법 노트¶
입력은 상수 식이어야 합니다. 이 함수를 예를 들어 열에서 호출할 수 없습니다.
문자열 리터럴이 입력으로 전달된 경우, 문자열 주위의 구분 기호는 작은따옴표
'
또는 이중 달러 기호$$
일 수 있습니다. 문자열 리터럴이 작은따옴표를 포함하는 경우(이중 달러 기호를 포함하지 않음), 이중 달러 기호로 문자열을 구분하면 문자열 내부에 포함된 작은따옴표 문자를 이스케이프할 필요가 없습니다.출력 테이블은 RESULT_SCAN 함수를 사용하여 처리할 수 있습니다.
이 함수는 EXPLAIN 정보를 JSON에서 테이블 형식으로 변환합니다. 흔히 JSON 값은 SYSTEM$EXPLAIN_PLAN_JSON 함수에서 직접 또는 간접적으로 생성됩니다. 예를 들어, SYSTEM$EXPLAIN_PLAN_JSON의 출력을 테이블에 저장한 다음, 나중에 이 EXPLAIN_JSON 함수를 사용하여 표시할 수 있습니다.
출력이 테이블 형식이므로 이 함수는 테이블 함수 로 분류됩니다.
예¶
다음 예는 이 함수를 사용하는 방법을 보여줍니다.
SELECT * FROM TABLE( EXPLAIN_JSON( SYSTEM$EXPLAIN_PLAN_JSON( 'SELECT Z1.ID, Z2.ID FROM Z1, Z2 WHERE Z2.ID = Z1.ID') ) ); +------+------+-----------------+-------------+------------------------------+-------+--------------------------+-----------------+--------------------+---------------+ | step | id | parentOperators | operation | objects | alias | expressions | partitionsTotal | partitionsAssigned | bytesAssigned | |------+------+-----------------+-------------+------------------------------+-------+--------------------------+-----------------+--------------------+---------------| | NULL | NULL | NULL | GlobalStats | NULL | NULL | NULL | 2 | 2 | 1024 | | 1 | 0 | NULL | Result | NULL | NULL | Z1.ID, Z2.ID | NULL | NULL | NULL | | 1 | 1 | [0] | InnerJoin | NULL | NULL | joinKey: (Z2.ID = Z1.ID) | NULL | NULL | NULL | | 1 | 2 | [1] | TableScan | TESTDB.TEMPORARY_DOC_TEST.Z2 | NULL | ID | 1 | 1 | 512 | | 1 | 3 | [1] | JoinFilter | NULL | NULL | joinKey: (Z2.ID = Z1.ID) | NULL | NULL | NULL | | 1 | 4 | [3] | TableScan | TESTDB.TEMPORARY_DOC_TEST.Z1 | NULL | ID | 1 | 1 | 512 | +------+------+-----------------+-------------+------------------------------+-------+--------------------------+-----------------+--------------------+---------------+