ORACLE優(yōu)化之HINT詳解

ORACLE的HINT詳解

提示(hints)就是一組指示余素,可以將其添加到SQL中來指示優(yōu)化器×琢觯可以使用提示來明確指定連接順序芒篷、訪問路徑類型、所使用的索引采缚、優(yōu)化目標(biāo)等其他指示针炉。

優(yōu)化器提示出現(xiàn)在SQL第一個(gè)單詞(如:SELECT、INSERT扳抽、UPDATE篡帕、MERGE或者DELETE)后面,如同一個(gè)注釋贸呢。與注釋不同的是在(/*)后面有一個(gè)加號(+)镰烧。

?例如:

???????? SELECT /*+ FULL(orders) */? FROM oe.orders WHERE order_date <(SYSDATE - INTERVAL ' 5 ' YEAR)

如果語(句)法不對,則ORACLE會(huì)自動(dòng)忽略所寫的HINT贮尉,不報(bào)錯(cuò)拌滋。其中FULL表示朴沿,優(yōu)化器必須選擇使用全表掃描的訪問方法猜谚。除了FULL,還有:

1. /*+ALL_ROWS*/:表明對語句塊選擇基于開銷的優(yōu)化方法,并獲得最佳吞吐量,使資源消耗最小化.

2. /*+FIRST_ROWS*/:表明對語句塊選擇基于開銷的優(yōu)化方法,并獲得最佳響應(yīng)時(shí)間,使資源消耗最小化.

3. /*+CHOOSE*/:表明如果數(shù)據(jù)字典中有訪問表的統(tǒng)計(jì)信息,將基于開銷的優(yōu)化方法,并獲得最佳的吞吐量;

表明如果數(shù)據(jù)字典中沒有訪問表的統(tǒng)計(jì)信息,將基于規(guī)則開銷的優(yōu)化方法;

4. /*+RULE*/:表明對語句塊選擇基于規(guī)則的優(yōu)化方法.

5. /*+FULL(TABLE)*/:表明對表選擇全局掃描的方法.

6. /*+ROWID(TABLE)*/:提示明確表明對指定表根據(jù)ROWID進(jìn)行訪問.

7. /*+CLUSTER(TABLE)*/:提示明確表明對指定表選擇簇掃描的訪問方法,它只對簇對象有效.

8. /*+INDEX(TABLE INDEX_NAME)*/:表明對表選擇索引的掃描方法.

9. /*+INDEX_ASC(TABLE INDEX_NAME)*/:表明對表選擇索引升序的掃描方法.

10. /*+INDEX_COMBINE*/:為指定表選擇位圖訪問路經(jīng),如果INDEX_COMBINE中沒有提供作為參數(shù)的索引,將選擇出位圖索引的布爾組合方式.

11. /*+INDEX_JOIN(TABLE INDEX_NAME)*/:提示明確命令優(yōu)化器使用索引作為訪問路徑.

12. /*+INDEX_DESC(TABLE INDEX_NAME)*/:表明對表選擇索引降序的掃描方法.

13. /*+INDEX_FFS(TABLE INDEX_NAME)*/:對指定的表執(zhí)行快速全索引掃描,而不是全表掃描的辦法.

14. /*+ADD_EQUAL TABLE INDEX_NAM1,INDEX_NAM2,...*/:提示明確進(jìn)行執(zhí)行規(guī)劃的選擇,將幾個(gè)單列索引的掃描合起來.

15. /*+USE_CONCAT*/:對查詢中的WHERE后面的OR條件進(jìn)行轉(zhuǎn)換為UNION ALL的組合查詢.

16. /*+NO_EXPAND*/:對于WHERE后面的OR 或者IN-LIST的查詢語句,NO_EXPAND將阻止其基于優(yōu)化器對其進(jìn)行擴(kuò)展.

17. /*+NOWRITE*/:禁止對查詢塊的查詢重寫操作.

18. /*+REWRITE*/:可以將視圖作為參數(shù).

19. /*+MERGE(TABLE)*/:能夠?qū)σ晥D的各個(gè)查詢進(jìn)行相應(yīng)的合并

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赌渣,一起剝皮案震驚了整個(gè)濱河市魏铅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坚芜,老刑警劉巖览芳,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鸿竖,居然都是意外死亡沧竟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門缚忧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悟泵,“玉大人,你說我怎么就攤上這事闪水「夥牵” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵球榆,是天一觀的道長朽肥。 經(jīng)常有香客問我响牛,道長英古,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任阔馋,我火速辦了婚禮每强,結(jié)果婚禮上蚁吝,老公的妹妹穿的比我還像新娘旱爆。我一直安慰自己,他們只是感情好窘茁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布怀伦。 她就那樣靜靜地躺著,像睡著了一般山林。 火紅的嫁衣襯著肌膚如雪房待。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天驼抹,我揣著相機(jī)與錄音桑孩,去河邊找鬼。 笑死框冀,一個(gè)胖子當(dāng)著我的面吹牛流椒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播明也,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宣虾,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了温数?” 一聲冷哼從身側(cè)響起绣硝,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撑刺,沒想到半個(gè)月后鹉胖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡够傍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年甫菠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冕屯。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寂诱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出愕撰,到底是詐尸還是另有隱情刹衫,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布搞挣,位于F島的核電站带迟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏囱桨。R本人自食惡果不足惜仓犬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舍肠。 院中可真熱鬧搀继,春花似錦窘面、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至点骑,卻和暖如春酣难,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背黑滴。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工憨募, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袁辈。 一個(gè)月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓菜谣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親晚缩。 傳聞我的和親對象是個(gè)殘疾皇子尾膊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容