오라클 쿼리 속도 저하 문제 중 하나가 인덱스의 밸런스가 깨진다는데 있다.


보통 B+트리 인덱스는 트리구조인데

이 트리구조 아래부분의 데이터들이 무작위로 삭제되거나 수정되는 경우

트리구조가 불균형을 이룬다는 것이다.


이런 경우 인덱스 재구성을 해주어 속도를 향상시킬 수 있다.


오라클 인덱스를 재설정하는 명령은

alter index 인덱스명 rebuild;


인덱스를 검색하는 쿼리는

select index_name from user_indexes;


위 두 쿼리를 조합해서 리빌드 하는 쿼리들을 뽑아낼려면

select 'alter index '||index_name||' rebuild ;' from user_indexes;


실행시 아래와 같이 리빌드 쿼리가 생성된다.


alter index PK_MEMBER rebuild ;

alter index PK_BOARD rebuild ;


요런식의 결과값이 떨어진다..


쉽게 모든 인덱스의 리빌드 쿼리를 뽑아낼 수 있다.



+ Recent posts