통계정보
7. Dynamic sampling (동적 샘플링)
Dynamic sampling은 쿼리에 사용된 테이블에 통계정보가 없는 경우,
동적으로 통계정보를 만들어 옵티마이저의 실행계획에 도움을 주는 기능 입니다.
Dynamic sampling은 최소한의 시간으로 data block을 샘플링하는 등 일부 데이터를 추출해 통계정보를 수집합니다.
7.1. Table level
대상
테이블, 파티션 및 컬럼의 통계 정보
원리
- First phase : 16 sample block을 읽습니다.
- Second phase : 테이블 실제 block 개수에 따라 추가적으로 최대 300개까지 읽습니다.[출처] [Tibero] SQL Tuning (11)|작성자 TmaxTibero
Note!
읽은 sample block의 개수는 ‘tbevent 28004-28014’를 켜고 추적함으로써 확인 할 수 있습니다.
7.2. Index level
대상
인덱스 B-tree level, (leaf) block count, distinct count, clustering factor 등
원리
- B-tree level, block count, distinct count 등은 index 정보 조회로 간단하게 추출할 수 있습니다.
- Clustering factor는 rowid scan이 필요할때만 추출합니다.
최대 3개의 index block을 sampling 할 수 있습니다.