analyze index 時validate structure和compute statistics的區別

itpremier發表於2010-10-16

analyze index 時validate structure和compute statistics的區別?

analyze index時, validate structure和compute statistics的區別?

nalyze index index1 validate structure:

analyze index index1 compute statistics:

在分析索引的時候,一般會用到以上二個命令,那麼這二個命令是用來幹什麼呢?

analyze index index1 validate structure:是用來分析索引的資料塊是否有壞塊,以及根據分析得到的資料(存放在index_stats)來判斷索引是否需要重新建立。

什麼樣的index需要rebuild?

當一個table經常進行DML操作時,它的索引會存在許多block空間的浪費,這是因為index block中的記錄只有在全部表示為不可用時, block 才能被加入到freelist中去被重新利用。所以我們需要尋找那些浪費空間很嚴重的index。

方法是: 1) analyze index index_name validate structure;

2) select del_lf_blk_len/lf_blk_len from index_stats where name = :index_name;

3) 如果結果大於20%, 那你的Index就可以被rebuild了。

validate structure有二中模式: online, offline, 預設是offline模式。以offline模式分析時, 會對表加一個4級別的鎖(表共享),對run系統可能造成一定的影響。

而online模式則沒有表lock的影響,但當以online模式分析時, 在檢視index_stats沒有統計資訊。

analyze index index1 compute statistics:是用來統計index的分析資訊,來為CBO服務的。從9i開始,Oracle以建議使用dbms_stats package代替 analyze 了。

[@more@]

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

相關文章