반응형
인덱스 리빌드의 이유
인덱스 파일은 생성후에 DML 을 만복하다보면 성능이 저하됨.
생성된 인덱스는 트리구조를 가지는데 DML 반복하다보면 트리의 한쪽이 무거워져
전체적인 트리의 깊이가 깊어짐.
< 예 시 >
첫번째 블럭 : 1 2 3 4 5
두번째 블럭 : 3 4 5
첫번째 블럭에서 3 4 5 를 delete문을 수행하면 논리적으로만 삭제임
다시 쓰면 인덱스에서 3 4 5 자리는 물고 있어서
다음 블럭에 3 4 5를 쓴다.
그래서 더 안 좋다.
"인덱스리빌더"를 통해서 물고 있는 부분 회수가 가능하다
인덱스 리빌더 하면 성능이 호전되는 이유는 그것이라고 해요.
인덱스 리빌드의 구분
alter index "owner.index_name" rebuild;
작업이 완료된후 쿼리수행해서 index 가 조회되는지 확인 필요.
인덱스 조회 구문
SELECT * FROM USER_INDEXES WHERE TABLE_NAME = 'CUSTOMERS';
인덱스의 삭제 구문
DROP INDEX [인덱스 명]
'DB > SQL 튜닝' 카테고리의 다른 글
SQL튜닝 Oracle autotrace를 이용하여 실행계획 보기 (0) | 2021.01.03 |
---|---|
SQL튜닝 Oralce INDEX SCAN-> FULL TABLE SCAN 튜닝 (0) | 2021.01.01 |
댓글