본문 바로가기
Database/Oracle

[Oracle] 통계정보 생성

by 센텀Dev 2018. 12. 13.

-- 해당 스키마에 해당하는 테이블과 테이블 스페이스 조회

SELECT OWNER, TABLE_NAME, TABLESPACE_NAME FROM DBA_TABLES WHERE OWNER = '스키마명';

 

-- 해당 스키마에 해당하는 테이블의 통계정보 조회

SELECT TABLE_NAME, NUM_ROWS, CHAIN_CNT, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, AVG_ROW_LEN FROM DBA_TABLES WHERE OWNER = '스키마명';

 

-- 해당 스키마에 해당하는 인덱스의 통계정보 조회

SELECT TABLE_NAME, INDEX_NAME, STATUS, NUM_ROWS, LEAF_BLOCKS, BLEVEL FROM DBA_INDEXES WHERE OWNER = '스키마명';

 

-- 테이블의 통계정보 갱신

EXEC DBMS_STATS.GATHER_TABLE_STATS('스키마명', '테이블명');

 

-- 스키마안의 모든 세그먼트에 대한 통계정보 갱신

EXEC DBMS_STATS.GATHER_SCHEMA_STATS('스키마명');

 

-- DBMS_STATS 패키지로 갱신되지 않는 테이블 통계 정보 갱신

ANALYZE TABLE 스키마명.테이블명 COMPUTE STATISTICS;

-- DBMS_STATS 패키지로 갱신되지 않는 테이블 통계 정보 갱신(쿼리 생성)

SELECT 'ANALYZE TABLE 스키마명.' || TABLE_NAME || ' COMPUTE STATISTICS;' FROM DBA_TABLES WHERE OWNER = '스키마명';

 

-- DBMS_STATS 패키지로 갱신되지 않는 인덱스 통계정보 갱신

ANALYZE INDEX 스키마명.인덱스명 VALIDATE STRUCTURE;

SELECT NAME, BLOCKS, LF_ROWS, DEL_LF_ROWS FROM INDEX_STATS;

-- DBMS_STATS 패키지로 갱신되지 않는 인덱스 통계정보 갱신(쿼리 생성)

SELECT 'ANALYZE INDEX 스키마명.' || INDEX_NAME || ' VALIDATE STRUCTURE;' FROM DBA_INDEXES WHERE OWNER = '스키마명';

'Database > Oracle' 카테고리의 다른 글

[Oracle] Listener 로그  (0) 2019.09.10
[Oracle] 대소문자 끄기/만료기간 끄기  (0) 2019.03.08
[Oracle] 컬럼을 행으로 변경  (0) 2017.08.03
[Oracle] DBMS_LOB 관련 함수  (0) 2017.08.03
[Oracle] 일자체크(REGEXP_LIKE)  (0) 2013.11.14