테이블 함수 노드

테이블 함수 노드는 SQL문으로 호출되는 테이블 함수를 나타냅니다.

테이블 함수는 테이블을 리턴하는 사용자 정의 함수(UDF)입니다. 이 함수는 SQL문의 FROM절에서 지정됩니다. SQL문은 동일한 테이블 함수를 여러 번 호출할 수 있으며 각 호출은 테이블 함수 노드로 나타납니다.

테이블 함수 노드는 테이블 함수의 이름으로 레이블되며 디폴트로 육각형으로 표시됩니다.

DB2가 테이블 함수에 액세스하는 방법

DB2®는 TBSCAN(테이블 스페이스 스캔)을 사용하여 테이블 함수에 액세스합니다. 때때로 DB2는 작업 파일에 테이블 함수를 결과를 배치한 후 WFSCAN(작업 파일 스캔)을 사용하여 작업 파일에 액세스합니다.

DB2 옵티마이저는 아래 테이블에 나열된 테이블 함수 통계를 사용하여 액세스 플랜을 판별합니다. 이러한 통계는 테이블 함수 노드의 디스크립터 창에서 속성으로 나열됩니다. 카탈로그 테이블 SYSIBM.SYSROUTINES를 갱신하여 이러한 속성을 지정할 수 있습니다. 또한 CREATE FUNCTION문을 사용하는 테이블 함수를 정의하는 경우 카디낼리티(cardinality) 속성의 값을 지정할 수 있습니다. 이러한 속성을 지정하지 않는 경우 DB2는 다음 테이블에 나열된 디폴트값을 사용합니다.
표 1. 옵티마이저가 사용하는 테이블 함수 통계
속성 설명 디폴트값
카디낼리티(cardinality) 함수의 예측 카디낼리티(cardinality) 10000
초기 CPU 비용 처음과 마지막으로 함수가 호출되도록 실행되는 명령어의 추정 수 40000
초기 IO 비용 처음과 마지막으로 함수가 호출되도록 수행되는 입력과 출력의 추정 수 0
CPU 비용 호출당 명령어 추정 수 4000
IO 비용 호출당 입력 및 출력 추정 수 0

피드백