oracle 初試 hint

來源:互聯網
上載者:User

標籤:

最近在研究oracle的視圖問題,本來想全轉成 物化視圖(materialized view)的,這樣可以極大提升系統的回應時間,無奈工作量太大,所以就研究了SQL最佳化的問題。

 

我這個普通視圖 有360行,其中還有left join 了多個別的視圖,這些個視圖也有300+行。

 

所以在朋友指導下,嘗試了一下HINT。

步驟1 :

查出這個視圖的SQL_ID :

select sql_id from v$sql where sql_text like ‘%你中間關鍵語句%‘

 

步驟2 :

select * from table(dbms_xplan.display_cursor(sql_id => ‘12ynt5upntqm7‘,cursor_child_no => 0,format => ‘advanced‘));

執行結果如下 :

 

Outline Data
-------------

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------

/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE(‘11.2.0.4‘)
DB_VERSION(‘11.2.0.4‘)
ALL_ROWS
OUTLINE_LEAF(@"SEL$88122447")
MERGE(@"SEL$641071AC")
OUTLINE(@"SEL$1")
OUTLINE(@"SEL$641071AC")

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
MERGE(@"SEL$07BDC5B4")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$07BDC5B4")
MERGE(@"SEL$4")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$4")
FULL(@"SEL$88122447" "X$KGLCURSOR_CHILD"@"SEL$4")
END_OUTLINE_DATA
*/

Predicate Information (identified by operation id):

 

 

把中間這一坨 放到之前視圖對應SQL 的最前面,例如 :

SELECT
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE(‘11.2.0.4‘)
DB_VERSION(‘11.2.0.4‘)
ALL_ROWS
OUTLINE_LEAF(@"SEL$88122447")
MERGE(@"SEL$641071AC")
OUTLINE(@"SEL$1")
OUTLINE(@"SEL$641071AC")
MERGE(@"SEL$07BDC5B4")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$07BDC5B4")
MERGE(@"SEL$4")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$4")
FULL(@"SEL$88122447" "X$KGLCURSOR_CHILD"@"SEL$4")
END_OUTLINE_DATA
*/
DISTINCT part11.ccp from 啪啦啪啦啪啪啪

 

速度從 1.9秒 提升到1秒。

50%的提升,帥翻了~~~

感謝 小楓 的大力協助啊~~~~

 

oracle 初試 hint

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.