DB

Oracle 통계정보 수집

blesslee 2022. 10. 21. 10:48
반응형

통계정보 수집(Analyze) ?

 

Oracle 기능 하나로 인덱스,테이블,클러스터에 대한 통계정보를 생성 한다.

Analyze 생성한 통계정보를 바탕으로 비용에 따라 옵티마이저가 가장 효율적인 실행계획을 위한 코스트를 계산한다.

 

사용법

SQL> ANALYZE [OBJECT_TYPE] [OBJECT_NAME] [OPERATION MODE] STATISTICS

+ FORTABLE

+ FOR ALL INDEXES

+ FOR ALL INDEXED COLUUMN

 

오퍼레이션 모드 종류 설명

COMPUTE : 각각의 값들을 정확하게 계산하며, 가장 정확한 통계를 얻지만 처리 속도가 가장 느리다 (테이블 내장된 모든 행을 대상으로 통계 정보 수집)

ESTIMATE : 데이터 사전의 데이터 견본을 가지고 검사 통계를 예상한다. COMPUTE 보다 정확하지만 처리 속도가 빠르다

DELETE : 테이블에 수집된 모든 통계정보를 삭제 한다.

  • 일반적으로 COMPUTE 많이 사용하며, 만일 COMPUTE 사용 DB 발생할 경우 ESTIMATE 사용한다

 

예시

SQL> ANALYZE TABLE ENC_DAMO COMPUTE STATISTICS; (ENC_DAMO 테이블의 모든 컬럼에 대해 통계정보 수집)

SQL> ANALYZE TABLE ENC_DAMO COMPUTE STATISTICS FOR ALL INDEXES; (ENC_DAMO 테이블에 걸린 모든 인덱스에 대해 통계정보 수집)

SQL> ANALYZE TABLE ENC_DAMO COMPUTE STATISTICS FOR ALL INDEXED COLUMNS; (ENC_DAMO테이블 모든 인덱스 컬럼에 대해 통계정보 수집)

 

 

기대 효과

  1. 쿼리 처리 속도 향상

 

 

반응형