IBM DB2에 대해 학습 중이며 액세스 유형에 대한 질문이 있습니다.DB2 IN 목록 액세스, 인덱스 스캔, TS 스캔
나는 쿼리에서 IN-list 액세스, 인덱스 스캔, TS 스캔을 결정하는 방법을 잘 모르겠습니다.
예를 들어, 우리는 쿼리 IN 문을 포함하기 때문에
SELECT * FROM T
WHERE C1=1 AND C2 IN (1,2,3)
AND C3>0 AND C4<100;
그런 다음, 그것은 IN-목록 액세스 될 수 있습니다. 그러나 색인이있는 경우 C1 및 C3 또는 색인 스캔 일 수 있습니다. 이 쿼리가 "IN 목록 액세스"라고해야하는 이유는 무엇입니까?
인덱스 스캔 및 TS 스캔의 예를 들어 주시겠습니까?
은 정말이 부분
DB2의 쿼리 최적화 프로그램에서 사용하는 원가 계산 정보의 소스가 실제 테이블과 인덱스가 아니라 RUNSTATS 유틸리티로 생성 된 통계 요약임을 추가하고자합니다. 이는 RUNSTATS가 다시 실행될 때까지 테이블에 대한 주요 변경 사항 (예 : 큰 DELETE 또는 INSERT)이 조회 Optimizer에 의해 감지되지 않을 수 있음을 의미합니다. 일부 DB2 플 '폼에서 데이터베이스 엔진은 이러한 유형의 변경을 감시하고 RUNSTATS를 자동으로 실행하여 테이블 및 해당 인덱스에 대한 새로운 통계 스 냄샷을 생성합니다. –