메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

오라클 INVISIBLE INDEX

DB CAFE
Dbcafe (토론 | 기여)님의 2024년 9월 30일 (월) 23:07 판 (새 문서: == 인비저블 인덱스 INVISIBLE INDEX == {{틀:고지 상자 |내용= * 인덱스를 실제 생성/삭제하기 전에 "사용 안함" 상태로 만들어서 테스트해 볼 수 있는 기능을 제공하는 인덱스이다.(11g New Feature) * 인덱스가 많은 경우 DML문장에 나쁜 영향을 주기 때문에 사용하지 않는 인덱스는 삭제해 주어야 한다. :* 문제는 해당 인덱스를 삭제하려고 했을 때, 정말 사용하는지 사용하지...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

인비저블 인덱스 INVISIBLE INDEX

틀:고지 상자

인비저블 인덱스 조회

select VISIBILITY 
  from dba_indexes 
 where index_name='IX_DBCAFE_01' 
   and owner='DBCAFE';
-- INVISIBLE 로 변경시 
ALTER INDEX DBCAFE.IX_DBCAFE_01 INVISIBLE;

인비저블 인덱스 생성

  • Index를 Invisible Index로 생성
  • Invisible Index는 옵티마이져가 PLAN을 결정할때 관여하지 않는 인덱스임
  • (주의) 인덱스가 REBUILD 되면 VISIBLE INDEX로 변경된다.
CREATE INDEX EMP.IDX_TEST ON EMP.TB_TEST(COL1,COL2,COL3) 
PCTFREE 10 
INITRANS 5
PARALLEL 8 NOLOGGING
TABLESPACE TS_IDX 
INVISABLE  -- 인비저블 인덱스 
ONLINE -- DML 발생시에도 테이블에 LOCK이 발생되지 않음.   
;

VISIBLE 인덱스로 변경

ALTER INDEX EMP.IX_TEST VISIBLE;

인비저블 인덱스 사용시 검토사항

  • 테이블에 대한 Acess Path 분석을 통한 영향도 및 타당성 검토를 수행한다.
    • index를 만들었을때 DML에 의한 성능저하 요인은?
    • index에 의한 효과 대상 SQL은?
    • 효과의 영향도는?
    • 다음을 SESSION LEVEL로 적용 후 관련 SQL에 대한 모든 PLAN점검을 실행한다.
ALTER SESSION SET optimizer_use_invisible_indexes=TRUE;