Oracle 10g的最優(yōu)秀功能之一是顧問框架(Advisory Framework),它是一個優(yōu)化顧問集合,可幫助您充分利用數(shù)據(jù)庫。其中的一個顧問——SQL訪問顧問(Access Advisor)——建議對模式中的索引和物化視圖進行改變來提高性能。
但是,由于顧問框架(Advisory Framework)被一般化,以支持各種不同的顧問,因此導航DBMS_ADVISOR包中的所有存儲過程和函數(shù)會十分繁瑣。一個CREATE_TASK過程初始化一個新的優(yōu)化任務,一個SET_TASK_PARAMETER過程修改默認的參數(shù),CTEATE_SQLWKLD過程則建立一個負載對象等等。-
Oracle 10g第二版在DBMS_ADVISOR包中增加了一個QUITE_TUNE過程。這個過程默認所需要的大多數(shù)參數(shù)來建立一個顧問,對界面進行調(diào)整。除建立一個負載對象(即進行優(yōu)化的QSL語句表)外,它還直接向過程提交一個單獨的SQL語句。
要使用QUITE_TUNE過程——或DBMS_ADVISOR包中的任何其它工具——用戶必須具有顧問權(quán)限。另外,進行分析的用戶必須對查詢中引用的表至少擁有選擇許可。然后,只要簡單地調(diào)用過程就行。如列表A所示。
您可以在各種DBA_視圖中查看運行結(jié)果。DBA_ADIVSOR_LOG列出您進行的任務和它生成建議的數(shù)目。然后可在DBA_ADVISOR_RECOMMENDATIONS視圖中看到這些建議,單個的命令可在DBA_ADVISOR_ACTIONS視圖中找到。
而且,您還可以讓DBMS_ADVISOR生成執(zhí)行建議行為所需的完整SQL腳本。GET_TASK_SCRIPT函數(shù)返回一個包含腳本的SLOB。
列表B顯示了列表A的運行結(jié)果。因為WHERE子句使用的AMOUNT_SOLD欄沒有編入索引,需要進行全面表掃描來處理這個語句。此外,它暗示這是一個位圖索引,因為欄中的數(shù)據(jù)有許多重復的值。 本文出自:億恩科技【mszdt.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|