테이블 노드

테이블 노드는 SQL문에서 참조되는 테이블을 나타냅니다. 참조되는 테이블은 기본 테이블, 전역 임시 테이블 또는 뷰가 될 수 있습니다.

SQL문은 동일한 테이블을 여러 번 참조할 수 있으며 각 참조는 테이블 노드로 나타납니다.

테이블 노드는 참조된 테이블의 이름으로 레이블되며 디폴트로 직사각형으로 표시됩니다. 테이블의 상관 이름, 작성자 이름 또는 카디낼리티(cardinality)가 레이블에서 표시될 수도 있습니다. RUNSTATS 유틸리티가 테이블에 대한 통계를 수집하지 않은 경우 테이블 노드 윤곽은 빨강으로 나타납니다. 옵티마이저가 테이블 카디낼리티(cardinality)에 대해 디폴트값을 사용하는 경우 카디낼리티(cardinality)는 디폴트로 표시됩니다. 디폴트 카디낼리티(cardinality) 값은 카탈로그 테이블 SYSIBM.SYSTABLES에서 -1로 저장되지만 옵티마이저는 디폴트값으로 10000을 사용합니다.

RUNSTATS가 통계를 수집하지 않은 경우 옵티마이저는 디폴트값을 사용할 필요가 없습니다. SYSIBM.SYSTABLES에서 값을 수동으로 갱신하는 경우 옵티마이저는 디폴트값이 아니라 이러한 값을 사용합니다.

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

DB2®는 페치(FETCH)나 직접 페치(DFETCH)가 있는 단일 또는 다중 인덱스 액세스, 테이블 스페이스 스캔(TBSCAN)를 사용하여 테이블에 액세스합니다. DB2 옵티마이저는 아래의 테이블에 나열된 테이블 통계에 따라 액세스 메소드를 판별합니다. 이러한 통계는 테이블 노드의 디스크립터 창에서 속성으로 나열됩니다. 이러한 통계를 제공하려면 RUNSTATS 유틸리티를 사용하여 수집하거나 카탈로그 테이블 SYSIBM.SYSTABLES를 수동으로 갱신하십시오. 이러한 통계를 제공하지 않는 경우 DB2는 다음 테이블에 나열된 디폴트값을 사용합니다.
표 1. 옵티마이저가 사용하는 테이블 통계
속성 설명 디폴트값
전체 행 수 10000
페이지 전체 페이지 수 501
압축된 행 백분율 압축된 행의 백분율 0

피드백