【TUNE_ORACLE】Oracle Hint之常用Hint功能概述(四)
說明
1.整理了一些本人平時SQL 調優中常用到的一些Hint,方便大家參考
2.Hint相關文章地址:
Oracle Hint之概念與用法: http://blog.itpub.net/69992972/viewspace-2756965/
Oracle Hint之常用Hint功能概述(一): http://blog.itpub.net/69992972/viewspace-2757087/
Oracle Hint之常用Hint功能概述(二): http://blog.itpub.net/69992972/viewspace-2757182/
Oracle Hint之常用Hint功能概述(三): http://blog.itpub.net/69992972/viewspace-2757238/
Oracle Hint之常用Hint功能概述(四): http://blog.itpub.net/69992972/viewspace-2757242/
Oracle Hint之常用Hint功能概述(五): http://blog.itpub.net/69992972/viewspace-2757273/
未分類Hint(其一)
Hint 名 |
功能概述 |
舉例 |
/*+ append */ |
該hint讓最佳化器將直接路徑(Direct-path)INSERT與INSERT語句的子查詢語法一起使用來插入資料( 僅針對insert語句中有子查詢而不使用values關鍵字有效)。 注意: 1.常規INSERT是序列模式下的預設設定。在序列模式下,僅當包含APPEND HINT時才能使用直接路徑 2.在並行模式下,預設為直接路徑INSERT。 在並行模式下,僅當指定NOAPPEND HINT時,才能使用常規插入 3.INSERT是否會被並行執行的決定與APPEND HINT無關 4.在直接路徑INSERT中,資料被附加到表的末尾,而不是使用當前分配給表的現有空間。結果就是直接路徑INSERT可能比常規INSERT快得多 5. 僅INSERT語句的子查詢語法支援APPEND HINT,而不支援VALUES子句。 如果使用VALUES子句指定APPEND HINT,則將其忽略並使用常規插入 |
|
/*+ append_values */ |
該hint讓最佳化器將直接路徑INSERT與VALUES子句一起使用( 僅針對insert語句中有values關鍵字有效)。如果未指定此hint,則使用常規INSERT 注意: 1.在直接路徑INSERT中,資料被附加到表的末尾,而不是使用當前分配給表的現有空間。結果,直接路徑INSERT可能比常規INSERT快得多 2.該HINT可在下面的兩個情況下大大提高效能: (1)在Oracle Call Interface(OCI)程式中,當使用大型陣列繫結或帶有行回撥的陣列繫結時 (2)在PL / SQL中,當使用帶有帶有VALUES子句的INSERT語句的FORALL迴圈載入大量行時 3. 僅INSERT語句的VALUES子句支援APPEND_VALUES HINT。如果使用INSERT語句的子查詢語法指定APPEND_VALUES HINT,則將其忽略,並將使用常規插入 |
|
/*+ noappend */ |
該hint透過在INSERT語句的持續時間內禁用並行模式來讓最佳化器使用常規INSERT。APPEND HINT有提到:常規INSERT是序列模式下的預設設定,而直接路徑INSERT是並行模式下的預設設定 |
|
/*+ cache(tab) */ |
該hint讓最佳化器在執行全表掃描時將為表檢索的塊放在LRU列表中最近使用的緩衝區快取中。所以該hint對於小型查詢表很有用 |
SELECT /*+ FULL (e) CACHE(e) */ last_name FROM emp e; |
/*+ nocache(tab) */ |
該hint讓最佳化器在執行全表掃描時將為表檢索的塊放在LRU列表中最近最少使用的緩衝區快取中。 這是緩衝區快取記憶體中塊的預設方式 |
SELECT /*+ FULL (e) NOCACHE(e) */ last_name FROM emp e; |
/*+ clustering */ |
該hint僅對啟用了attribute clustering的表上的INSERT和MERGE操作有效。該hint為直接路徑插入(序列或並行)。該hint會覆蓋建立或更改表的DDL中的“NO ON LOAD”設定。該hint對未啟用attribute clustering的表沒有影響 |
|
/*+ no_clustering */ |
和CLUSTERING HINT一樣,該hint僅對啟用了attribute clustering的表上的INSERT和MERGE操作有效。但該hint禁用直接路徑插入(序列或並行)的屬性聚類。該hint將覆蓋在建立或更改表的DDL中的“YES ON LOAD”設定。該hint對未啟用attribute clustering的表沒有影響 |
|
/*+ cursor_sharing_exact */ |
一般在安全的情況下,Oracle可以使用繫結變數替換SQL語句中的常量。此替換由CURSOR_SHARING初始化引數控制。但該hint讓最佳化器關閉此行為。當指定此提示時,Oracle會執行SQL語句,而不會嘗試用繫結變數替換常量 |
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2757242/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【TUNE_ORACLE】Oracle Hint之常用Hint功能概述(五)Oracle
- 【TUNE_ORACLE】Oracle Hint之常用Hint功能概述(三)Oracle
- 【TUNE_ORACLE】Oracle Hint之常用Hint功能概述(二)Oracle
- 【TUNE_ORACLE】Oracle Hint之常用Hint功能概述(一)Oracle
- 【TUNE_ORACLE】Oracle Hint之概念與用法Oracle
- Oracle之Hint使用總結Oracle
- ORACLE的HINT詳解Oracle
- Oracle中的sql hintOracleSQL
- Oracle中常見的Hint(一)Oracle
- oracle不走hint原因1:依據hint會出現錯誤結果Oracle
- Oracle中Hint深入理解(原創)Oracle
- LightDB 22.4 新特性之支援Oracle cardinality和ordered_predicates hintOracle
- LightDB23.1新特性支援Oracle hint增強DB2Oracle
- openGauss 支援SQL-hintSQL
- [20200801]sql hint衝突.txtSQL
- Apache ShardingSphere HINT 實用指南Apache
- [20190430]注意sql hint寫法.txtSQL
- 學習達夢hint注入筆記筆記
- [20200718]注意sql hint寫法2.txtSQL
- What is OPAQUE_TRANSFORM Hint and how to Control it [ID 780503.1]OpaqueORM
- 【TUNE_ORACLE】Oracle健康檢查基礎專案(四)專案檢查步驟概述其三Oracle
- 【TUNE_ORACLE】Oracle索引設計思想(二)索引過濾列概述Oracle索引
- 【TUNE_ORACLE】Oracle索引設計思想(一)索引片和匹配列概述Oracle索引
- 【TUNE_ORACLE】Oracle索引設計思想(三)過濾因子概述與計算Oracle索引
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(四)Oracle
- SAP Marketing Cloud 功能概述(四)Cloud
- 【TUNE_ORACLE】Oracle索引設計思想(四)三星級索引Oracle索引
- 【TUNE_ORACLE】等待事件之“library cache lock”Oracle事件
- 【TUNE_ORACLE】等待事件之“buffer busy waits”Oracle事件AI
- 【TUNE_ORACLE】等待事件之“library cache pins”Oracle事件
- GreatSQL 在SQL中使用 HINT 語法修改會話變數SQL會話變數
- 【TUNE_ORACLE】Oracle資料庫與HugePages(四)如何禁用透明大頁Oracle資料庫
- 影片直播系統原始碼,Android EditText不顯示提示文字hint原始碼Android
- SAP Fiori Launchpad url 引數 sap-app-origin-hint 的含義APP
- 【TUNE_ORACLE】等待事件之等待事件類別Oracle事件
- 宜信DBA實踐-SQL優化|一篇文章說清楚Oracle Hint的正確使用姿勢SQL優化Oracle
- pytest報錯Hint: make sure your test modules/packages have valid Python names.PackagePython
- 【TUNE_ORACLE】等待事件之IO等待“read by other session”Oracle事件Session