반응형

Oracle/index 6

partition global index 추출

#완성 SELECT A.TABLE_OWNER, A.TABLE_NAME, B.INDEX_NAME, B.INDEX_TYPE, B.GLOBAL_STATS, B.PARTITIONED FROM DBA_TAB_PARTITIONS A, (SELECT * FROM DBA_INDEXES WHERE OWNER NOT IN ('SYS','SYSTEM') AND PARTITIONED='NO') B -- NO : 글로벌 YES : 로컬 , GLOBAL_STATS : 통계정보시 해당 인덱스도 분석을 하겠냐(YES) WHERE B.TABLE_NAME = A.TABLE_NAME AND B.OWNER = A.TABLE_OWNER GROUP BY A.TABLE_OWNER, A.TABLE_NAME, B.INDEX_NAME, B.INDEX..

Oracle/index 2022.01.24

index invisible

*INVISIBLE 이란 인덱스를 그대로 유지하되 실행계획에서는 반영을 하지 않음. 장점 : 인덱스를 DROP 하기 전 EXECUTION PLAN 의 변화를 미리 TEST 가능 APP 단의 영향을 주지 않고 특정 APP 단에서만 TEMPORARY 하게 INDEX 사용 가능. 주의 OPTIMIZER_USE_INVISIBLE_INDEXES 파라미터가 TURE 로 되어 있으면 INVISIBLE 상태여도 실행 계획에 반영함. SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME LIKE '%invisible%' 운영 중 파리미터 변경 가능 optimizer_use_invisible_indexes = false => invisible 인덱스 사용안함 opt..

Oracle/index 2022.01.24

index monitoring

인덱스 사용 현황 모니터링 1. 개요 - 새로운 인덱스를 생성하거나, 기존의 인덱스의 변경으로인해 사용되지 않는 인덱스가 생겨날 수 있다. 이러한 인덱스를 찾아 수정하거나 제거할 필요성이 제기 된다. 실제로 튜닝 작업 이후 기존에 있던 인덱스를 제거하려는 경우, 실제로 어떤 인덱스를 제거해야 할지 결정하기만 쉽지 않다. - 특정 기간동안의 쿼리에 대한 엑세스 유형을 분석하고, 인덱스의 사용유무를 모니터링 한 이후에 사용되지 않는 인덱스를 제거해야만 할 것이다. 2. 뷰 - 오라클 9i 부터 제공되는 다이나믹 뷰 v$object_usage 를 이용하여 위의 작업을 수행 및 결과를 토대로 인덱스 사용현황을 파악할 수 있다. 3. v$object_usage INDEX_NAME NOT NULL VARCHAR2(..

Oracle/index 2022.01.24

index(인덱스)

인덱스 인덱스란? - 검색을 빠르게 하기 위해 사용 - 인덱스 구성시 자동정렬이 이루어짐 - 사용을 해야하는 경우 . 테이블에 행의 수가 많을때 . 조건절인 where 문에 column 수가 많을 때 . join , null 포함하는 컬럼이 많을 떄 - 사용하지 말아야 하는 경우 . 테이블의 행의 수가 적을 때 . where 문에 해당 컬럼이 자주 사용되지 않을 때 . 테이블의 DML 작업이 많은 경우 - 확인 . USER_INDEXES : 인덱스 이름 및 고유성 . USER_IND_COLUMNS : 인덱스 이름, 테이블 이름, 열 이름 -index 생성법 . create index index명 on table명(index걸어줄 table에 colum명); ex)create index idx_emp_en..

Oracle/index 2022.01.24
반응형