*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 인덱스 사용안함
optimizer_use_invisible_indexes = true => invisible 인덱스 사용함
INVISIBLE
CREATE INDEX THUNDERMAIL.PART_FILEIMPORT_IDX02
ON THUNDERMAIL.TM6_PART_FILEIMPORT (PARTDATE)
TABLESPACE HPC_MAIL_IDX
INVISIBLE
생성 후
인덱스 사용 정의를 함
alter session set
optimizer_use_invisible_indexes=true;
/*+ use_invisible_indexes */
쿼리에 해당 인덱스 힌트 줘서 실행
ALTER INDEX THUNDERMAIL.PART_FILEIMPORT_IDX02 VISIBLE --|| INVISIBLE;
'Oracle > index' 카테고리의 다른 글
인덱스 분포도 (0) | 2022.01.24 |
---|---|
index frag_blocks check (0) | 2022.01.24 |
partition global index 추출 (0) | 2022.01.24 |
index monitoring (0) | 2022.01.24 |
index(인덱스) (0) | 2022.01.24 |