Oracle Analyze的用法

ljm0211發表於2012-06-20
=============
validate structure
=============
用於分析表或者索引結構的一致性,判斷索引與表間是否匹配,有沒有壞塊,資料是不是正確分佈在正確的分割槽中,索引壓縮效率等...
他不是用來分析用於最佳化SQL所需要的資訊.所以也不會在DBA_INDEXES,DBA_TABLES中儲存資訊.

比如
analyze table xxx partition(p1) validate structure into invalid_rows;
=================================================================

DBMS_UTILITY.ANALYZE_SCHEMA是等同於analyze的,只是DBMS_UTILITY是在PLSQL中呼叫了analyze命令。
但是analyze命令分兩種,一種是分析最佳化相關的資訊,語句為
analyze table [index] compute[estimate] statistics [for 語句];
如果要分析非最佳化相關的資訊,語句如
analyze index ... validate structure
analyze table ... validate structure [cascade]等

另外ORACLE提供了dbms_stats,該包提供了分析最佳化相關的資訊的更強的功能,但是他不能分析非最佳化相關的資訊
==================================================================

檢驗碎片用analyze index/table.... validate structure,這些資訊存在index_stats中
提供sql 最佳化資訊用analyze index/table ... compute/estimate statistics,這些資訊存在dba_indexes,dba_tables中

摘自:http://**/viewthread.php?tid=76455

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

相關文章