1.analyze 該table (因為各执行计划的 cost 的计算根据,依赖于数据表中数据的统计分布, ORACLE 数据库本身对该统计分布是不清楚的,须要分析表和相关的索引,才能搜集到 CBO 所需的数据。 ) analyze table test compute statistics; analyze table test estimate statistics sample 20 percent; (compute statistics 為完全计算法,estimate statistics sample 20 percent; 為抽樣20%) 2.執行sql 看看執行效果,如果還不佳,就 3. analyze index test validate structure;(該指令執行後的結果會儲存table:INDEX_STATS,而且只存最後一次的結果,且每個SESSION只看到自己SESSION的 ) 其實index要不要analyze or rebuild 是可以通過下面兩個指令中間的任何一個判斷的 (1). SELECT OWNER,INDEX_NAME,BLEVEL FROM DBA_INDEXES WHERE OWNER='test'; (2).SELECT name, del_lf_rows, lf_rows - del_lf_rows lf_rows_used, to_char(del_lf_rows / (lf_rows)*100,'999.99999') ratio FROM index_stats where name = upper('&index_name'); 4. 若上述計算出來的數值大於20%,則rebuild index 如果遇到ORA-00054错误, 表示索引在的表上有锁信息, 不能重建索引. 那就忽略这个错误, 看下次是否成功. 5.然後執行妳的sql 如果還有問題就修改AP了以上適用於執行速度原來可以,使用一段時間後變慢的情況[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/202861/viewspace-785123/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/202861/viewspace-785123/
此为ITPUB博客文章的转载声明,给出了文章链接http://blog.itpub.net/202861/viewspace-785123/,强调转载需注明出处,否则将追究法律责任。
1124

被折叠的 条评论
为什么被折叠?



