skip_unusable_indexes

yellowlee發表於2012-11-28

1alter index  ind_index_test_name unusable ;

alter session set skip_unusable_indexes = true;

修改後,插入資料並不會維護索引,而執行查詢的時候cbo也不會使用該索引,

如果skip_unusable_indexes = false;

或者true的時候使用hint來走索引,會報錯該索引無效。

這樣,在不同的業務場景就要考慮不同的情況了,如果是向目前正在執行的生產環境灌資料,為了不影響業餘,不建議採用禁索引的方式來處理。如果是其他情況也可以直接drop掉索引了重建,不過不drop,而採用rebuild 或者rebiuld online也是可以的。

2imp/exp匯入匯出時使用

同理,在imp時設定了引數skip_unusable_indexes=y,且目標表的索引狀態是unusable,則匯入資料的時候,新插入的資料並不會維護索引

(注意,unusable狀態的索引,在truncate表後,狀態會變為valid

另外,如果索引是唯一索引或者有pk,那麼唯一性檢查還是會做的,違反唯一性的資料不會匯入。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16179598/viewspace-750098/,如需轉載,請註明出處,否則將追究法律責任。