Index Unusable 상태 에서 Insert가 되나요
오늘 Index 질문 엄청하네
... ^^
가능합니다.
주로 대량의 데이타를 로딩하거나 insert ... as select ... 등을 하실 때... index를 unusable로 꺼놓고 하시면 index로 인한 오버헤드가 없으므로 훨씬 insert 속도가 올라갑니다.
문제는 unusable로 해놓으면 에러가 나는데... 그 에러를 무시하도록 아래와 같이 하시고 작업을 시작하십시오.
ALTER SESSION SET skip_unusable_indexes = TRUE;
그리고 나서 대량 로딩 작업이 끝난 후...
alter index ... rebuild 를 해주시면 됩니다.
alter index ... rebuild를 빠르게 하기 위해서는 sort_area_size를 키워주시고 parallel , nologging 등을 사용하시기 바랍니다.
그리고 작업 후에 반드시 alter index .. noparallel logging으로 원위치 시켜주는것 잊지마세요.
참고: 9i의 경우 Workarea_size_policy=auto일 경우에는 아래와 같이 하여 sort_area_size를 늘려주세요.
alter session set Workarea_size_policy=manual;
alter session set sort_area_size = 10000000; -- 10M
답변 정말 감사드립니다.