Innovating today, leading tomorrow

Tibero - 튜닝
[Tibero] SQL Tuning (11)

[Tibero] SQL Tuning (11)

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

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 할 수 있습니다.