Oracle 通過sql profile 優化執行計划


         SQL 概要文件包含其他信息 (輔助統計信息), 它們可以幫助優化程序選擇特定 SQL 語句的最佳執行計划。

         oracle 10g 開始,oracle 提供了sql profile,當查詢涉及到復雜謂詞條件、復雜表連接關系時,優化器就有可能做出錯誤的基數估計從而引發性能問題,sql profile 通過收集復雜謂詞、表連接用到的統計系統幫助修正錯誤的基數估計,指導優化器選擇最優執行計划,可以通過sql tuning advisor 產生sql profile:


--create sql_profile from sql_tuning_task

begin

my_sqlprofile_name := dbms_sqltune.accept_sql_profile (

task_name    => '&sql_id_tuning_task',

task_owner   => 'SYS'

replace      => true ,

force_match  => true );

end;

/

--drop sql profile

BEGIN

DBMS_SQLTUNE.DROP_SQL_PROFILE('&sql_profile_name');

END;

/

--disable sql profile

BEGIN

DBMS_SQLTUNE.ALTER_SQL_PROFILE(name =>'&sql_profile_name',attribute_name =>'STATUS', value => 'DISABLED');

END;

/

--query  sql profile

select t.name,t.sql_text,t.status,t.force_matching,t.type from dba_sql_profiles t

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM