中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle常見hint

發布時間:2020-08-10 17:41:33 來源:ITPUB博客 閱讀:328 作者:n-lauren 欄目:關系型數據庫
與優化器模式相關的hint
[plain] view plain copy
  1. 1.1 /*+ all_rows */ 讓優化器啟動CBO  
  2. 1.2 /*+ first_rows(n)*/優化器啟動CBO,選擇會快返回前n行數據的執行計劃。與first_rows_n不同,first_rows_n n只能為1,10,100,1000.  
  3. 1.3 /*+ rule */ 啟動RBO,與其他hint連用,其他hint一般會失效。  

與表及索引訪問相關的hint
  1. 2.1 full(xxx) 全表掃描  
  2. 2.2 index(目標表 目標索引1 目標索引2)   
  3. 2.3 no_index(目標表 目標索引1 目標索引2)   
  4. 2.4 index_desc(目標表 目標索引1 目標索引2) 讓優化器對目標索引執行降序掃描,如目標索引是降序,則hint則以升序掃描目標索引。  
  5. 2.5 index_ffs(目標表 目標索引1 目標索引2)  索引快速全掃描   

與表連接順序相關的hint
  1. 3.1 ordered 讓優化器在執行多表連接時,按照他們在sql中where條件出現順序進行連接。查詢轉換可能會導致這個hint失效。  
  2. 3.2 leading(表1 表2) 讓優化器將我們執行多個表的連接結果作為目標sql表連接過程中的結果集,并將hint中自左到右的第一個表,作為表連接的驅動表。  

與表連接方法相關的hint
  1. 4.1 use_merge(表1 表2) 讓優化器將我們指定的多個表作為被驅動表與其他表或結果集做排序合并連接。  
  2. 4.2 no_use_merge(表1 表2)  
  3. 4.3 use_nl(表1 表2) 讓優化器將我們指定的多個表作為被驅動表與其他表或結果集做嵌套循環連接。經常與leading合用。  
  4. /*+use_nl(s,X) leading X */  
  5. 4.4 no_use_merge(表1 表2)  
  6. 4.5 use_hash(表1 表2) 讓優化器將我們指定的多個表作為被驅動表與其他表或結果集做哈希連接。經常與leading合用。  
  7. 4.6 no_use_merge(表1 表2)  
  8. 4.7 merge_aj 針對子查詢的hint,讓優化器對目標表執行排序合并反連接。  
  9. 4.8 nl_aj 針對子查詢的hint,讓優化器對目標表執行嵌套循環反連接。  
  10. 4.9 hash_aj 針對子查詢的hint,讓優化器對目標表執行哈希反連接。  
  11. 4.10 merge_sj 針對子查詢的hint,讓優化器對目標表執行排序合并半連接。  
  12. 4.11 nl_sj 針對子查詢的hint,讓優化器對目標表執行嵌套循環半連接。  
  13. 4.12 hash_sj 針對子查詢的hint,讓優化器對目標表執行哈希半連接  

與查詢轉換相關的hint
  1. 5.1 use_concat 是針對目標sql的hint,讓優化器對目標sql使用in_list擴展或or_list擴展。  
  2. 5.2 no_expand 是use_concat反義hint,不讓優化器對目標sql使用in_list擴展或or_list擴展。  
  3. 5.3 merge 是針對單個目標視圖的hint,讓優化器對目標視圖執行視圖合并(view merging)  
  4. 5.4 no_merge 是針對merge的反義hint,不讓優化器對目標視圖執行視圖合并(view merging)  
  5. 5.5 unnest 是針對子查詢的hint,讓優化器對目標sql中的子查詢展開(subquery unnesting)  
  6. 5.6 no_unnest 是針對unnest反義的hint,不讓優化器對目標sql中的子查詢展開(subquery unnesting)  
  7. 5.7 expand_table(表) 讓優化器在不考慮成本的情況下,對表進行表擴展  
  8. 5.8 no_expand_table(表) expand_table(表)的反義hint,不對表進行表擴展  

與并行有關的hint
  1. 6.1 parallel 并行  
  2. 6.2 no_parallel 針對整個目標sql的hint  
  3. 6.3 parallel_index(表 index-1 index-2 ... index-n n n n )  
  4. 6.4 no_parallel_index(表 index-1 index-2 ... index-n)  

其他常見hint
  1. 7.1 driving_site 讓優化器在我們指定目標表所在的節點上執行目標sql。只適用于帶dblink的分布式查詢語句。  
  2. 7.2 append 讓優化器執行帶子查詢的insert時,繞開buffer cache,使用直接路徑插入。  
  3. 7.3 append_values 讓優化器執行帶values的insert時,繞開buffer cache,使用直接路徑插入。(11R2)  
  4. 7.4 push_pred 針對目標視圖的hint,讓優化器對目標視圖執行連接謂詞推入。  
  5. 7.5 no_push_pred 針對目標視圖的hint,不讓優化器對目標視圖執行連接謂詞推入。  
  6. 7.6 push_subq 針對子查詢的hint,讓優化器盡早執行目標sql中不能做子查詢展開的子查詢。  
  7. 7.7 no_push_subq 針對子查詢的hint,讓優化器最后執行目標sql中不能做子查詢展開的子查詢。  
  8. 7.8 opt_param 針對目標sql的hint,用來修改針對目標sql比系統級,session級更細顆粒的更改。  
  9. 7.9 optimizer_features_enable('優化器版本號') 更改優化器版本  
  10. 7.10 qb_name 對一個查詢塊指定自定義的名稱。  
  11. 7.11 cardinality 針對單個目標表的hint,用來設置對目標表執行掃描操作后的cardinality的值。(對唯一索引掃描無效)  
  12. 7.12 swap_join_inputs 針對hash連接的hint,讓優化器交換原hash連接的驅動表和被驅動表順序。  
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

周口市| 买车| 板桥市| 德州市| 喜德县| 宝应县| 阿瓦提县| 呼伦贝尔市| 龙南县| 华阴市| 志丹县| 乌拉特前旗| 共和县| 个旧市| 万盛区| 称多县| 阿合奇县| 宁波市| 涿鹿县| 青神县| 万州区| 新河县| 晋宁县| 安吉县| 龙游县| 三河市| 南丰县| 白河县| 中超| 友谊县| 内黄县| 洞口县| 怀集县| 柘城县| 庆云县| 菏泽市| 辽宁省| 新闻| 甘孜县| 通城县| 平定县|