目錄html
一、如何工做sql
二、什麼時候使用測試
sql plan baseline 是一個關聯sql 語句的對象,設計會影響查詢優化器生成執行計劃,更具體的說,一個sql baseline包含其中的一些內容,一個或多個執行計劃的一組HINTS信息,基本上一個SQL plan baselines被使用會強制使查詢優化器對於一個給定的sql語句生成一致的執行計劃。優化
不是全部的HINTS都存儲在SQL plan baselines中,有哪些不能存儲呢?ui
SELECT name FROM v$sql_hint WHERE version_outline IS NULL
雖然 衆多的HINTS不存儲在sql plan baselines中可是不會影響執行計劃(如:gather_plan_statistics)。還有一些其餘會影響(如materialize和inline),這種結果,一些執行計劃不能強制經過sql plan baseline 無需指定hint的模式設計
sql plan baseline其中一個好處他應用指定的sql語句,不須要修改sql 語句。實際上,sql plan baselines被存儲與sql 管理基中,查詢優化器自動選擇他們,基本的步驟:code
使用sql plan baselines有兩種狀況,第一,不管你什麼時候優化sql 語句都不能改變應用(如,在應用中不能把增長hints選項)。第二,你應該考慮什麼時候、怎麼的緣由使用它,你遇到了麻煩的執行計劃不穩定,由於sql plan baselinegs的目標是強制查詢優化器從能夠接受的執行計劃的限制列表中選擇一個執行計劃,當你明確想限制查詢優化器選擇一個指定的執行計劃。htm