天天看點

Informix IDS 11體系管理(918檢修)認證指南,第8部門:面向管理者的SQL特性(5)

優化器指令,優化器指令的熏染,優化器針對每個查詢角力計較争論最優查詢妄想。縱然優化器運用了少量統計資訊,一些情況下依然無法做出最佳的決策。要重寫優化器決策,您可以運用優化器指令來強迫優化器運用指定的

優化器指令

優化器指令的熏染

優化器針對每個查詢角力計較争論最優查詢妄想。縱然優化器運用了少量統計資訊,一些情況下依然無法做出最佳的決策。要重寫優化器決策,您可以運用優化器指令來強迫優化器運用指定的查詢妄想。

優化器指令文法

  • { 施展分析入手脫手離開符,} 施展分析終了離開符
  • /* 施展分析入手脫手離開符,而 */ 施展分析終了離開符
  • --(兩個短劃線)施展分析入手脫手離開符;無需運用終了離開符
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

    關頭字可克制運用非嵌套子查詢重寫查詢。

版權聲明:

原創作品,答應轉載,轉載時請務必以超連結體例标明文章 原始來因 、作者資訊和本聲明。不然将追究法律責任。

繼續閱讀