Study/DB

[Oracle] 통계정보 생성

LoonyHyun 2021. 1. 11. 14:02
반응형

참조: jack-of-all-trades.tistory.com/168

 

오라클 통계정보 생성 방법 (analyze, dbms_utility, dbms_stats)

Oracle DBMS 에서 통계정보(Stats Info)가 얼마나 중요한지에 대해서는 앞 페이지에서 설명했습니다. 이 페이지에서는 통계정보를 생성하는 방법에 대해서 설명드리겠습니다. 통계정보를 생성하는 방

jack-of-all-trades.tistory.com

 

SQL

-- Database
SQL> exec dbms_stats.gather_database_stats;
SQL> exec dbms_stats.gather_database_stats(estimate_percent=>15);

-- Schema
SQL> exec dbms_stats.gather_schema_stats(ownname=>‘XXX', cascade=>TRUE);
SQL> exec dbms_stats.gather_schema_stats('SCOTT', estimate_percent=>15);

-- Table
SQL> exec dbms_stats.gather_table_stats('SCOTT', 'EMP', partname=>NULL);
SQL> exec dbms_stats.gather_table_stats('SCOTT', 'EMP_1', 'EMP_1_P1_S01');
            -- 파티션에 대해서 통계정보를 수집 (EMP_1 테이블의 EMP_1_P1_S01 파티션)
SQL> exec dbms_stats.gather_table_stats('SCOTT', 'EMP', cascade=>TRUE);
            -- cascade: 테이블의 인덱스에 대해서도 통계 정보를 수집

-- Index
SQL> exec dbms_stats.gather_index_stats('SCOTT', 'PK_EMP');
SQL> exec dbms_stats.gather_index_stats('SCOTT', 'PK_EMP', estimate_percent=>15);

-- Delete Statistics :
SQL> exec dbms_stats.delete_database_stats(no_invalidate=>false);
            -- no_invalidate : 이 파라메터를 true로 설정하면, 관련 Plan을 삭제하지 않음
SQL> exec dbms_stats.delete_schema_stats(ownname=>'SCOTT', no_invalidate=>false);
SQL> exec dbms_stats.delete_table_stats(ownname=>'SCOTT', tabname=>'EMP');
SQL> exec dbms_stats.delete_index_stats('SCOTT', 'PK_EMP');

 

'Study > DB' 카테고리의 다른 글

[Oracle] 통계정보 확인  (0) 2021.01.15
[Oracle] reorg, hwm, shrink, movement  (0) 2021.01.11
[Oracle] Job 등록 / 스케쥴링  (0) 2020.12.23
MariaDB (MySQL) 자주 쓰는 날짜 함수 및 포맷  (0) 2020.12.08
MariaDB (MySQL) 날짜 포맷  (0) 2020.12.08