優化器指令,優化器指令的熏染,優化器針對每個查詢角力計較争論最優查詢妄想。縱然優化器運用了少量統計資訊,一些情況下依然無法做出最佳的決策。要重寫優化器決策,您可以運用優化器指令來強迫優化器運用指定的
優化器指令
優化器指令的熏染
優化器針對每個查詢角力計較争論最優查詢妄想。縱然優化器運用了少量統計資訊,一些情況下依然無法做出最佳的決策。要重寫優化器決策,您可以運用優化器指令來強迫優化器運用指定的查詢妄想。
優化器指令文法
- { 施展分析入手脫手離開符,} 施展分析終了離開符
- /* 施展分析入手脫手離開符,而 */ 施展分析終了離開符
- --(兩個短劃線)施展分析入手脫手離開符;無需運用終了離開符
SELECT -- <Directive>
customer_name from customer where customer_num > 103
- 接見體例指令: 這些指令描摹優化器搜刮表的體式花式。示例搜羅
、INDEX <indexname>
和AVOID_FULL
。AVOID_INDEX <indexname>
- 毗連挨次(Join-order)指令: 毗連挨次指令
強迫優化器根據查詢中運用的挨次運用表。ORDERED
-
毗連體例指令在嵌套循環和散列毗連之間終了選擇。其中毗連體例(Join-method)指令:
USE_NL
用于嵌套循環毗連,而AVOID_NL
USE_HASH
用于散列毗連。AVOID_HASH
- 優化目标(Optimization-goal)指令: 優化目标指令指定查詢機能的衡量體例。指令搜羅
ALL_ROWS
FIRST_ROWS
隻前往第一個螢幕,其中顯露查詢前往的行。FIRST_ROWS
- 解釋形式(Explain-mode)指令: 解釋形式指令用于測試和調試查詢妄想,并将資訊輸入到 sqexplain.out 檔案。
基礎上與EXPLAIN
類似。SET EXPLAIN ON
僅僅實行查詢妄想,而不實行查詢本身。這一特性使您不必比及查詢完成績可以相識查詢妄想可否吻合您的需求,在措置責罰年夜型表時等候查詢完成将花消良多工夫。AVOID_EXECUTE
- 重寫體例(Rewrite-method)指令: 默許情況下,優化器不答應實行非嵌套的關系子查詢。
關頭字可克制運用非嵌套子查詢重寫查詢。NESTED
版權聲明:
原創作品,答應轉載,轉載時請務必以超連結體例标明文章 原始來因 、作者資訊和本聲明。不然将追究法律責任。