【TUNE_ORACLE】Oracle Hint之常用Hint功能概述(五)

Attack_on_Jager發表於2021-02-15

說明 

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

功能概述

舉例

/*+   disable_parallel_dml */

該hint使得DELETE、INSERT、MERGE和UPDATE型別的語句禁用並行DML。 意思是當使用ALTER SESSION ENABLE PARALLEL DML語句為session啟用並行DML時,可以使用此hint會對單個SQL語句禁用並行DML


/*+ result_cache   */

該hint目的是讓資料庫將當前查詢或查詢片段的結果快取在記憶體中,然後在以後執行查詢或查詢片段時使用快取的結果。快取的結果保留在在共享池的result cache中


/*+   no_result_cache */

如果引數RESULT_CACHE_MODE設定為“FORCE”,則最佳化器會將查詢結果快取在result cache中。因此在這種情況下,該hint會禁止當前查詢快取在result cache中


/*+ dynamic_sampling(tab   n) */

該hint讓最佳化器採用動態取樣的方式來去統計資料。N的範圍是0-10,數字越大統計越精準,由於動態取樣的優先順序低於統計資訊收集這種方式,所以 如果已經對錶收集了統計資訊,則該hint將不會生效

SELECT /*+ DYNAMIC_SAMPLING(e 1) */   count(*) FROM emp e;

/*+ fresh_mv */

該hint適用於查詢實時物化圖時生效。   該hint讓最佳化器使用查詢計算來從物化檢視中獲取最新資料,即使物化檢視已過時。在查詢不是實時物化檢視的物件的SELECT語句以及所有UPDATE、INSERT、MERGE和DELETE語句塊中,最佳化器都會忽略該hint


/*+ cardinality(tab   n) */

該hint讓最佳化器按照指定n的大小來設定查詢結果集的cardinality(基數)。適用於full scan(全表掃描),index range scan(索引範圍掃描),index full scan(索引全掃描)和index fast full scan(索引快速全掃描)這四種掃描方式


/*+ native_full_outer_join   */

該hint讓最佳化器使用本native full外連線的方式,這是一種基於雜湊聯接的本地執行方法


/*+   gather_plan_statistics */

該hint讓最佳化器在以下兩種情況去額外收集一些統計資訊:

1.CTAS(create table   as select)

2.insert into select  --子查詢的表必須為空表


/*+ monitor */

該hint讓最佳化啟用SQL的實時監控功能,即使該SQL語句很長時間沒有執行,該hint依然會強制對查詢進行實時SQL監視。僅當引數CONTROL_MANAGEMENT_PACK_ACCESS設定為DIAGNOSTIC   + TUNING時,該hint才有效


/*+ no_monitor */

該hint讓最佳化器禁用查詢的實時SQL監視,即使SQL查詢在長時間執行也不會監控



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2757273/,如需轉載,請註明出處,否則將追究法律責任。

相關文章