oracle 索引失效 建立及重建

2021-05-21 20:32:00 字數 423 閱讀 5718

兩三個月沒有做資料分析了,今天一分析,竟然發現很多索引(約30%)失效。

失效原因大致有以下幾種:

在sql*loader 載入過程中會維護索引,由於資料量比較大,在sql*loader 載入過程中出現異常情況,導致oracle 來不及維護索引,導致索引處於失效狀態,影響查詢和載入。

異常情況主要有:在載入過程中殺掉sql*loader 程序,重啟,表空間不夠等。

下一步重建索引,並把索引表空間放在單獨的硬碟上。

重新建立索引

alter index indexname rebuild tablespace tablespace [on line];

建立索引

create index indexname on tablename(columnname) tablespace tablespacename;

oracle 索引使用及索引失效總結

容易引起oracle索引失效的原因很多 1 在索引列上使用函式。如substr,decode,instr等,對索引列進行運算.需要建立函式索引就可以解決了。2 新建的表還沒來得及生成統計資訊,分析一下就好了 3 基於cost的成本分析,訪問的表過小,使用全表掃瞄的消耗小於使用索引。4 使用 not ...

oracle 索引使用及索引失效總結

容易引起oracle索引失效的原因很多 1 在索引列上使用函式。如substr,decode,instr等,對索引列進行運算.需要建立函式索引就可以解決了。2 新建的表還沒來得及生成統計資訊,分析一下就好了 3 基於cost的成本分析,訪問的表過小,使用全表掃瞄的消耗小於使用索引。4 使用 not ...

關於 Oracle 分割槽索引的失效和重建

建立測試表 sql create table t as select object id,object name from dba objects 表已建立。sql select min object id max object id from t min object id max object ...