與優(yōu)化器模式相關(guān)的hint
- 1.1 /*+ all_rows */ 讓優(yōu)化器啟動CBO
- 1.2 /*+ first_rows(n)*/優(yōu)化器啟動CBO,選擇會快返回前n行數(shù)據(jù)的執(zhí)行計劃。與first_rows_n不同,first_rows_n n只能為1,10,100,1000.
- 1.3 /*+ rule */ 啟動RBO,與其他hint連用,其他hint一般會失效。
與表及索引訪問相關(guān)的hint
- 2.1 full(xxx) 全表掃描
- 2.2 index(目標(biāo)表 目標(biāo)索引1 目標(biāo)索引2)
- 2.3 no_index(目標(biāo)表 目標(biāo)索引1 目標(biāo)索引2)
- 2.4 index_desc(目標(biāo)表 目標(biāo)索引1 目標(biāo)索引2) 讓優(yōu)化器對目標(biāo)索引執(zhí)行降序掃描,如目標(biāo)索引是降序,則hint則以升序掃描目標(biāo)索引。
- 2.5 index_ffs(目標(biāo)表 目標(biāo)索引1 目標(biāo)索引2) 索引快速全掃描
與表連接順序相關(guān)的hint
- 3.1 ordered 讓優(yōu)化器在執(zhí)行多表連接時,按照他們在sql中where條件出現(xiàn)順序進行連接。查詢轉(zhuǎn)換可能會導(dǎo)致這個hint失效。
- 3.2 leading(表1 表2) 讓優(yōu)化器將我們執(zhí)行多個表的連接結(jié)果作為目標(biāo)sql表連接過程中的結(jié)果集,并將hint中自左到右的第一個表,作為表連接的驅(qū)動表。
與表連接方法相關(guān)的hint
- 4.1 use_merge(表1 表2) 讓優(yōu)化器將我們指定的多個表作為被驅(qū)動表與其他表或結(jié)果集做排序合并連接。
- 4.2 no_use_merge(表1 表2)
- 4.3 use_nl(表1 表2) 讓優(yōu)化器將我們指定的多個表作為被驅(qū)動表與其他表或結(jié)果集做嵌套循環(huán)連接。經(jīng)常與leading合用。
- /*+use_nl(s,X) leading X */
- 4.4 no_use_merge(表1 表2)
- 4.5 use_hash(表1 表2) 讓優(yōu)化器將我們指定的多個表作為被驅(qū)動表與其他表或結(jié)果集做哈希連接。經(jīng)常與leading合用。
- 4.6 no_use_merge(表1 表2)
- 4.7 merge_aj 針對子查詢的hint,讓優(yōu)化器對目標(biāo)表執(zhí)行排序合并反連接。
- 4.8 nl_aj 針對子查詢的hint,讓優(yōu)化器對目標(biāo)表執(zhí)行嵌套循環(huán)反連接。
- 4.9 hash_aj 針對子查詢的hint,讓優(yōu)化器對目標(biāo)表執(zhí)行哈希反連接。
- 4.10 merge_sj 針對子查詢的hint,讓優(yōu)化器對目標(biāo)表執(zhí)行排序合并半連接。
- 4.11 nl_sj 針對子查詢的hint,讓優(yōu)化器對目標(biāo)表執(zhí)行嵌套循環(huán)半連接。
- 4.12 hash_sj 針對子查詢的hint,讓優(yōu)化器對目標(biāo)表執(zhí)行哈希半連接
與查詢轉(zhuǎn)換相關(guān)的hint
- 5.1 use_concat 是針對目標(biāo)sql的hint,讓優(yōu)化器對目標(biāo)sql使用in_list擴展或or_list擴展。
- 5.2 no_expand 是use_concat反義hint,不讓優(yōu)化器對目標(biāo)sql使用in_list擴展或or_list擴展。
- 5.3 merge 是針對單個目標(biāo)視圖的hint,讓優(yōu)化器對目標(biāo)視圖執(zhí)行視圖合并(view merging)
- 5.4 no_merge 是針對merge的反義hint,不讓優(yōu)化器對目標(biāo)視圖執(zhí)行視圖合并(view merging)
- 5.5 unnest 是針對子查詢的hint,讓優(yōu)化器對目標(biāo)sql中的子查詢展開(subquery unnesting)
- 5.6 no_unnest 是針對unnest反義的hint,不讓優(yōu)化器對目標(biāo)sql中的子查詢展開(subquery unnesting)
- 5.7 expand_table(表) 讓優(yōu)化器在不考慮成本的情況下,對表進行表擴展
- 5.8 no_expand_table(表) expand_table(表)的反義hint,不對表進行表擴展
與并行有關(guān)的hint
- 6.1 parallel 并行
- 6.2 no_parallel 針對整個目標(biāo)sql的hint
- 6.3 parallel_index(表 index-1 index-2 ... index-n n n n )
- 6.4 no_parallel_index(表 index-1 index-2 ... index-n)
其他常見hint
- 7.1 driving_site 讓優(yōu)化器在我們指定目標(biāo)表所在的節(jié)點上執(zhí)行目標(biāo)sql。只適用于帶dblink的分布式查詢語句。
- 7.2 append 讓優(yōu)化器執(zhí)行帶子查詢的insert時,繞開buffer cache,使用直接路徑插入。
- 7.3 append_values 讓優(yōu)化器執(zhí)行帶values的insert時,繞開buffer cache,使用直接路徑插入。(11R2)
- 7.4 push_pred 針對目標(biāo)視圖的hint,讓優(yōu)化器對目標(biāo)視圖執(zhí)行連接謂詞推入。
- 7.5 no_push_pred 針對目標(biāo)視圖的hint,不讓優(yōu)化器對目標(biāo)視圖執(zhí)行連接謂詞推入。
- 7.6 push_subq 針對子查詢的hint,讓優(yōu)化器盡早執(zhí)行目標(biāo)sql中不能做子查詢展開的子查詢。
- 7.7 no_push_subq 針對子查詢的hint,讓優(yōu)化器最后執(zhí)行目標(biāo)sql中不能做子查詢展開的子查詢。
- 7.8 opt_param 針對目標(biāo)sql的hint,用來修改針對目標(biāo)sql比系統(tǒng)級,session級更細顆粒的更改。
- 7.9 optimizer_features_enable('優(yōu)化器版本號') 更改優(yōu)化器版本
- 7.10 qb_name 對一個查詢塊指定自定義的名稱。
- 7.11 cardinality 針對單個目標(biāo)表的hint,用來設(shè)置對目標(biāo)表執(zhí)行掃描操作后的cardinality的值。(對唯一索引掃描無效)
- 7.12 swap_join_inputs 針對hash連接的hint,讓優(yōu)化器交換原h(huán)ash連接的驅(qū)動表和被驅(qū)動表順序。
本文題目:oracle常見hint
網(wǎng)站鏈接:http://www.rwnh.cn/article28/jsdjjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、面包屑導(dǎo)航、電子商務(wù)、品牌網(wǎng)站設(shè)計、網(wǎng)站導(dǎo)航、網(wǎng)站策劃
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)